You are here

drupal过滤器和输入格式

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2009-08-19 10:26

老葛的Drupal培训班 Think in Drupal

假定你已经理解了过滤器是做什么的,而且你知道自己想找的是已安装的过滤器列表,你还是不能直接的在管理界面中找到它。为了让过滤器执行它们的工作,你必须将其分配给一个Drupal输入格式,如图11-3所示。输入格式将过滤器组合在一起,这样在处理内容时可以把它们作为批处理一同运行。与为每个提交选择一些过滤器相比,这要容易很多。你可以导航到“管理➤站点配置➤输入格式”,通过配置一个已有的输入格式或者新建一个输入格式,这样就可以查看已安装的过滤器列表了。
 
提示 一个Drupal输入格式是由一组过滤器构成的。
 
11-3. 已安装的过滤器列表位于 “添加输入格式”表单中
 
Drupal自带了3中输入格式(参看图11-4):
 
Filtered HTML输入格式由4个过滤器构成:
    HTML校正者过滤器,用来确保所有的HTML标签都正确的关闭和嵌套了。
    HTML过滤器,用于限制HTML标签以阻止跨站点脚本攻击(通常简称为 XSS);
    换行转换器,用于将回车转换为它们的HTML对应标签;
    URL过滤器,用于将web和电子邮件地址转化为超链接。
 
Full HTML 输入格式,它不对HTML进行任何限制,但它使用了换行转换器
 
PHP Code 输入格式由一个名为“PHP求值器”的过滤器构成它负责执行节点中的任意PHP脚本。一个好的经验法则是,永远不让用户使用带有PHP求值器”的输入格式。如果用户可以运行PHP的话,那么他们可以做任何PHP能做到的事情,包括让你的站点当掉,或者更糟糕的是删除了你的所有数据。为了避免这一可能性,Drupal自带的PHP求值器”过滤器默认是禁用的。如果你想使用它,那么需要启用PHP过滤器模块。
 
警告 在你的站点上,为任何用户启用PHP Code输入格式都会带来安全隐患。一个好的原则是不使用这一输入格式。如果你必须使用它,那就尽可能的少用,而且只给超级用户使用(用户ID为1的用户)。
 
11-4 Drupal自带了3种可配置的输入格式
 
    因为输入格式就是一组过滤器,所以它们是可扩展的。你可以添加和删除过滤器,如图11-5所示。你可以修改输入格式的名字,删除一个过滤器,甚至可以对输入格式中过滤器的执行顺序进行重新排列以避免冲突。例如,你可能想在运行HTML过滤器的前面运行URL过滤器,这样HTML过滤器就可以检查由URL过滤器生成的<a>标签了。
 
注意 输入格式(过滤器组)可以通过管理界面进行控制。开发者在定义过滤器的时候不用考虑输入格式。该工作由Drupal站点管理员负责。
11-5. 输入格式由一组过滤器构成。本图展示了Drupal默认的3个输入格式。执行的方向如箭头所示。

Drupal版本: