用php过滤危险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; 
}

(0)

相关推荐

  • php下过滤html代码的函数 提高程序安全性

    以下为过滤HTML代码的函数: 复制代码 代码如下: function ihtmlspecialchars($string) { if(is_array($string)) { foreach($string as $key => $val) { $string[$key] = ihtmlspecialchars($val); } } else { $string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{

  • php常用的安全过滤函数集锦

    虽然各种开发框架给我们提供了很好的安全的处理方式,但是,我们还是要注意一下安全问题的.  原因简单:很多小的功能和项目是用不到框架的,我们需要自己解决安全问题! ①常用的安全函数有哪些: 复制代码 代码如下: mysql_real_escape_string()  addslashes() ②这些函数的作用: mysql_real_escape_string()和addslashes()函数都是对数据中的 单引号.双引号进行转义!也就是防止sql注入!  但是mysql_real_escape_

  • php下过滤HTML代码的函数

    /*---------------------- 过滤HTML代码的函数 -----------------------*/ function htmlEncode($string) {     $string=trim($string);     $string=str_replace("&","&",$string);     $string=str_replace("'","'",$string);   

  • PHP字符过滤函数去除字符串最后一个逗号(rtrim)

    首先分别解释下, trim过滤字符串两端,rtrim过滤字符串尾部,=chop()ltrim过滤字符串首部. 过滤字符串中键的咚咚就只能用str_replace咯.举个例子说明下, PHP代码 复制代码 代码如下: $str = '123,333,234,'; echo rtrim($str, ','); rtrim实例代码2 复制代码 代码如下: <?php$text = "\t\tThese are a few words :) ...  ";$trimmed = rtrim

  • php中使用array_filter()函数过滤空数组的实现代码

    今天在翻看手册查询array_filter()的使用细节时,看到了个小关键点:If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素将会被移除掉,这不正好可以用来过滤一些有空元素的数组吗?连忙写个例子测试一下想法: 复制代码 代码如下: $entry = array( 0 => '蓝

  • php 安全过滤函数代码

    复制代码 代码如下: //安全过滤输入[jb] function check_str($string, $isurl = false) { $string = preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string); $string = str_replace(array("\0","%00","\r"),'',$string); empty($isurl) &&am

  • PHP中字符安全过滤函数使用小结

    在WEB开发过程中,我们经常要获取来自于世界各地的用户输入的数据.但是,我们"永远都不能相信那些用户输入的数据".所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数.在PHP中,有些非常有用并且方便的函数,它们可以帮助你防止出现像SQL注入攻击,XSS攻击等问题. 1. mysql_real_escape_string() 这个函数曾经对于在PHP中防止SQL注入攻击提供了很大的帮助,它对特殊的字符,像单引号和双引号,加上了"反斜杠",确保用户的输入在

  • php过滤XSS攻击的函数

    下面的函数可以用来过滤用户的输入,保证输入是XSS安全的.具体如何过滤,可以参看函数内部,也有注释. 复制代码 代码如下: <?phpfunction RemoveXSS($val) {     // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed     // this prevents some character re-spacing such as <java\0script&g

  • 几个有用的php字符串过滤,转换函数代码

    nl2br();// \n to addslashes(); stripslashes();//对数据库操作时,转义特殊字符 chop();//除去字符串右边空格 trim();//除去字符串中所有空格 ltrim();//除去字符串左边空格 htmlspecialchars();//转换'$','"','<','>'为相应的html实体 htmlentities();//转换所有html标记为相应的html实体 array explode(string separator, str

  • 比较好用的PHP防注入漏洞过滤函数代码

    复制代码 代码如下: <?PHP //PHP整站防注入程序,需要在公共文件中require_once本文件 //判断magic_quotes_gpc状态 if (@get_magic_quotes_gpc ()) { $_GET = sec ( $_GET ); $_POST = sec ( $_POST ); $_COOKIE = sec ( $_COOKIE ); $_FILES = sec ( $_FILES ); } $_SERVER = sec ( $_SERVER ); functi

  • php HtmlReplace输入过滤安全函数

    复制代码 代码如下: // $rptype = 0 表示仅替换 html标记 // $rptype = 1 表示替换 html标记同时去除连续空白字符 // $rptype = 2 表示替换 html标记同时去除所有空白字符 // $rptype = -1 表示仅替换 html危险的标记 function HtmlReplace($str,$rptype=0) { $str = stripslashes($str); if($rptype==0) { $str = htmlspecialchar

随机推荐