用php过滤危险html代码的函数

 更新时间:2008年07月22日 00:29:54   作者:  
用PHP过滤html里可能被利用来引入外部危险内容的代码。有些时候,需要让用户提交html内容,以便丰富用户发布的信息,当然,有些可能造成显示页面布局混乱的代码也在过滤范围内。
#用户发布的html,过滤危险代码 
function uh($str) 

$farr = array( 
"/\\s+/", //过滤多余的空白 
"/<(\\/?)(scrīpt|i?frame|style|html|body|title|link|meta|\\?|\\%)([^>]*?)>/isU", //过滤 <scrīpt 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object的过滤 
"/(<[^>]*)on[a-zA-Z]+\\s*=([^>]*>)/isU", //过滤javascrīpt的on事件 

); 
$tarr = array( 
" ", 
"<\\\\1\\\\2\\\\3>", //如果要直接清除不安全的标签,这里可以留空 
"\\\\1\\\\2", 
); 

$str = preg_replace( $farr,$tarr,$str); 
return $str; 
}

相关文章

  • Apache服务器无法使用的解决方法

    Apache服务器无法使用的解决方法

    本篇文章介绍了Apache服务器在无法使用时候的一些解决方法。需要的朋友参考下
    2013-05-05
  • php源码分析之DZX1.5随机数函数random用法

    php源码分析之DZX1.5随机数函数random用法

    这篇文章主要介绍了php源码分析之DZX1.5随机数函数random用法,实例分析了DZX1.5中random函数生成随机字符串的使用技巧,需要的朋友可以参考下
    2015-06-06
  • 利用PHP扩展vld查看PHP opcode操作步骤

    利用PHP扩展vld查看PHP opcode操作步骤

    首先下载最新版vld扩展接下来编译安装vld扩展最后将生成的vld.so复制到extension_dir目录下然后修改php.ini文件接下来创建test.php文件,感兴趣的你可以参考下本文
    2013-03-03
  • php抽象类使用要点与注意事项分析

    php抽象类使用要点与注意事项分析

    这篇文章主要介绍了php抽象类使用要点与注意事项,实例分析了php抽象类的功能、定义与使用中的相关注意事项,需要的朋友可以参考下
    2015-02-02
  • php通过baihui网API实现读取word文档并展示

    php通过baihui网API实现读取word文档并展示

    这篇文章主要介绍了php通过baihui网API实现读取word文档并展示的相关资料,需要的朋友可以参考下
    2015-06-06
  • 浅谈并发处理PHP进程间通信之System V IPC

    浅谈并发处理PHP进程间通信之System V IPC

    对于进程间通信,每一个完备的语言都应该有对应的处理方式,而 PHP 对应的则是一族对 UNIX SYSTEM V包装的函数,包括信号量(semaphore)、共享内存(shared memory)和消息队列(msg queue)的操作。
    2021-05-05
  • php的curl实现get和post的代码

    php的curl实现get和post的代码

    类似于dreamhost这类主机服务商,是显示fopen的使用的。使用php的curl可以实现支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。
    2008-08-08
  • PHP与C#分别格式化文件大小的代码

    PHP与C#分别格式化文件大小的代码

    发现了一个格式化文件大小的方法, 很帅, 很简洁, 尤其是 PHP 版的, 只需要 2 行代码
    2011-05-05
  • 编译php 5.2.14+fpm+memcached(具体操作详解)

    编译php 5.2.14+fpm+memcached(具体操作详解)

    本篇文章是对编译php5.2.14+fpm+memcached的具体操作进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php一个找二层目录的小东东

    php一个找二层目录的小东东

    碰到个虚拟主机,iis7.0.里边有上万个站,只有脚本权限,没命令行权限,但是可以跨目录写文件.如果能得到目标站的物理目录,能立马搞定.但是想尽一切办法,也没找到物理路径.所以只有用脚本找了.手工找会累死的.一个php是找的,一个asp是写的
    2012-08-08

最新评论