用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;
}
相关推荐
-
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字符过滤函数去除字符串最后一个逗号(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字符串过滤,转换函数代码
nl2br();// \n to addslashes(); stripslashes();//对数据库操作时,转义特殊字符 chop();//除去字符串右边空格 trim();//除去字符串中所有空格 ltrim();//除去字符串左边空格 htmlspecialchars();//转换'$','"','<','>'为相应的html实体 htmlentities();//转换所有html标记为相应的html实体 array explode(string separator, str
-
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 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中使用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下过滤HTML代码的函数
/*---------------------- 过滤HTML代码的函数 -----------------------*/ function htmlEncode($string) { $string=trim($string); $string=str_replace("&","&",$string); $string=str_replace("'","'",$string);
-
php常用的安全过滤函数集锦
虽然各种开发框架给我们提供了很好的安全的处理方式,但是,我们还是要注意一下安全问题的. 原因简单:很多小的功能和项目是用不到框架的,我们需要自己解决安全问题! ①常用的安全函数有哪些: 复制代码 代码如下: mysql_real_escape_string() addslashes() ②这些函数的作用: mysql_real_escape_string()和addslashes()函数都是对数据中的 单引号.双引号进行转义!也就是防止sql注入! 但是mysql_real_escape_
-
比较好用的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中字符安全过滤函数使用小结
在WEB开发过程中,我们经常要获取来自于世界各地的用户输入的数据.但是,我们"永远都不能相信那些用户输入的数据".所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数.在PHP中,有些非常有用并且方便的函数,它们可以帮助你防止出现像SQL注入攻击,XSS攻击等问题. 1. mysql_real_escape_string() 这个函数曾经对于在PHP中防止SQL注入攻击提供了很大的帮助,它对特殊的字符,像单引号和双引号,加上了"反斜杠",确保用户的输入在
随机推荐
- 浅析JavaScript回调函数应用
- 共创Linux桌面系统co-create 1.0.3光盘安装过程详细图解.htm
- Apache Rewrite url重定向功能的简单配置
- .htaccess rewrite 规则详细说明
- iOS实用教程之Https双向认证详解
- java 使用策略模式操作JDBC数据库
- Javascript自执行匿名函数(function() { })()的原理浅析
- 几个C#常用正则表达式的总结
- asp 用InStr查找特定字符串的代码
- C++ 类中有虚函数(虚函数表)时 内存分布详解
- javascript获取网页中指定节点的父节点、子节点的方法小结
- JavaScript针对网页节点的增删改查用法实例
- Python函数式编程指南(三):迭代器详解
- 深入理解 JavaScript 中的 JSON
- jQuery动态创建html元素的常用方法汇总
- jQuery中:not选择器用法实例
- JavaScript 学习笔记(十一)
- javascript实现切换td中的值
- 使用java实现LIS算法,出操队形的问题
- Spring MVC Mybatis多数据源的使用实例解析