php过滤危险html代码

以下是程序代码:


代码如下:

function uhtml($str)
{
$farr = array(
"/\s+/", //过滤多余空白
//过滤 <script>等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object>的过滤
"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",//过滤javascript的on事件
);
$tarr = array(
" ",
"<\1\2\3>",//如果要直接清除不安全的标签,这里可以留空
"\1\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}

(0)

相关推荐

  • 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

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

    #用户发布的html,过滤危险代码  function uh($str)  {  $farr = array(  "/\\s+/", //过滤多余的空白  "/<(\\/?)(scrīpt|i?frame|style|html|body|title|link|meta|\\?|\\%)([^>]*?)>/isU", //过滤 <scrīpt 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object

  • PHP字符串中特殊符号的过滤方法介绍

    有时候我们会遇到过滤字符串中特殊字符的问题,本文提供了一个处理特殊字符串的方法,可能有遗漏,如果读者发现了可以留言告诉我,谢谢. 复制代码 代码如下: function strFilter($str){    $str = str_replace('`', '', $str);    $str = str_replace('·', '', $str);    $str = str_replace('~', '', $str);    $str = str_replace('!', '', $st

  • 浅析php过滤html字符串,防止SQL注入的方法

    批量过滤post,get敏感数据 复制代码 代码如下: $_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POST); 数据过滤函数 复制代码 代码如下: function stripslashes_array(&$array) { while(list($key,$var) = each($array)) {  if ($key != 'argc' && $key != 'argv' &&

  • 比较好用的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过滤★等特殊符号的正则

    复制代码 代码如下: if(preg_match("/[ '.,:;*?~`!@#$%^&+=)(<>{}]|\]|\[|\/|\\\|\"|\|/",$user)){ echo '不要在名字里面整些特殊符号,请只使用字母.数字和汉字,当然要你的浏览器要选简体中文GB2312哟,千万不要选繁体.中文HZ等.返回修改后,再来,我等你哟!'; exit(); }

  • php过滤所有恶意字符(批量过滤post,get敏感数据)

    函数代码: 复制代码 代码如下: //php 批量过滤post,get敏感数据 if (get_magic_quotes_gpc()) { $_GET = stripslashes_array($_GET); $_POST = stripslashes_array($_POST); } function stripslashes_array(&$array) { while(list($key,$var) = each($array)) { if ($key != 'argc' &&

  • PHP中HTML标签过滤技巧

    在开发文章系统中正常需要用到HTML标签.JS脚本等其他脚本代码的过滤,稍微尝试了下,感觉简单的htmlspecialchars()函数的过滤效果始终不如strip_tags()函数的过滤效果好. 其中有人会说我就想还要显示点图片,那怎么办呢? 没关系,我们对文章内容进行二次处理,正则找出某个图片的地址,然后对整个布局动态调控下,将图片放到最后,其效果还有可能会达到微博或者是Q空间动态的那种效果,多一举两得啊!

  • 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 安全过滤函数代码

    复制代码 代码如下: //安全过滤输入[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对表单提交特殊字符的过滤和处理方法汇总

    PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string等几个函数联合使用,与大家共同交流. 一.几个与特殊字符处理有关的PHP函数 函数名 释义 介绍 htmlspecialchars 将与.单双引号.大于和小于号化成HTML格式 &转成&"转成"' 转成'<转成<>转成> htmlentitie

  • php 过滤危险html代码

    #用户发布的html,过滤危险代码 复制代码 代码如下: function uh($str) { $farr = array( "/\s+/", //过滤多余的空白 "/<(\/?)(scripti?framestylehtmlbodytitlelinkmeta\?\%)([^>]*?)>/isU", //过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object的过滤 &qu

随机推荐