论坛风格切换
  • 5368阅读
  • 0回复

[常见问题]发帖script不过滤 [复制链接]

上一主题 下一主题
离线太史慈
 

发帖
766
金币
626
威望
556
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-05-04
程序默认是把script过滤掉了,script非常危险,但如果不想过滤,可以这么改
pw8.5
lib/forum/post.class.php
找到

  1.      array("/<script.*>.*<\/script>/is","/<(([^\"']|\"[^\"]*\"|'[^']*')*?)>/eis","/javascript/i"),
  2.      array("","\$this->jscv('\\1')","java script"),

改成
  1.      array("/<(([^\"']|\"[^\"]*\"|'[^']*')*?)>/eis","/javascript/i"),
  2.      array("\$this->jscv('\\1')","java script"),

如果需要某些版块支持,这样改
找到
  1.    $this->data['content'] = preg_replace(
  2. array("/<script.*>.*<\/script>/is","/<(([^\"']|\"[^\"]*\"|'[^']*')*?)>/eis","/javascript/i"),
  3. array("","\$this->jscv('\\1')","java script"),
  4. str_replace('.','.',$this->data['content'])
  5. );

改成
  1. global $fid;
  2. if(!in_array($fid,array(2,3,4))){
  3. $this->data['content'] = preg_replace(
  4. array("/<script.*>.*<\/script>/is","/<(([^\"']|\"[^\"]*\"|'[^']*')*?)>/eis","/javascript/i"),
  5. array("","\$this->jscv('\\1')","java script"),
  6. str_replace('.','.',$this->data['content'])
  7. );
  8. }else{
  9. $this->data['content'] = preg_replace(
  10. array("/<(([^\"']|\"[^\"]*\"|'[^']*')*?)>/eis","/javascript/i"),
  11. array("\$this->jscv('\\1')","java script"),
  12. str_replace('.','.',$this->data['content'])
  13. );
  14. }



[url=http://www.phpwind.com]phpwind[/url]
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
提到某人:
选择好友
上一个 下一个