php过滤危险html函数代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-25 10:59:41 浏览: 评论:0
1、删除html注释;
2、删除script、link、object、embed、iframe、frame、frameset以及拥有on开头、包含网页特效:[^;]或expression的属性的标签;
3、删除css教程中的注释(防止用这个来欺骗删除expression表达式,不知道还有其他什么方法可以欺骗删除expression);
4、删除expression表达式;
php过滤危险html,代码如下:
- function fillter_html( $str ) {
- /* 过滤style标签 */
- return preg_replace_callback(
- /* 过滤style标签内容 */
- '/(<s*style[^>]*>)((?:(?!<s*/s*styles*>).)*)(<s*/s*styles*>)?/i',
- create_function('$str', 'return $str[1] . fillter_css($str[2]) . $str[3];'),//开源代码phpfensi.com
- preg_replace(
- array(
- /* 删除html注释 */
- '/<!--.*?-->/i',
- /* 删除标签:script、link、object、embed、iframe、frame、frameset */
- '/<s*(script|object|embed|link|i?frame(set)?)[^>]*>(.*?<s*/s*\1s*>)?/i',
- /* 删除事件、javascript协议、css表达式 */
- '/<[^>]+((on[a-z]+s*=|javascript:[^;"\']|expressions*()[^>]*)+>?/i',
- ),
- '',
- $str
- )
- );
- }
- /* 过滤样式正文 */
- function fillter_css( $str ) {
- /* 删除注释、javascript协议、表达式 */
- return preg_replace(array('/(/*((?!*/).)**/|/*|*/)/i', '/expressions*((.*?))?|javascripts*:/i',), '', $str);
- }
Tags: php过滤代码 php过滤html
- 上一篇:php 用户验证 base64验证方法
- 下一篇:php 删除文件函数
相关文章
- ·php 防sql注入过滤代码(2014-08-25)
- ·php完美过滤HTML代码的函数(2014-08-21)
- ·php过滤网站敏感关键词例子(2014-08-21)
- ·php过滤所有HTML标记(2014-09-19)
- ·php 过滤html标签的函数代码(2014-09-19)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)