
用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下过滤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中使用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中字符安全过滤函数使用小结
在WEB开发过程中,我们经常要获取来自于世界各地的用户输入的数据.但是,我们"永远都不能相信那些用户输入的数据".所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数.在PHP中,有些非常有用并且方便的函数,它们可以帮助你防止出现像SQL注入攻击,XSS攻击等问题. 1. mysql_real_escape_string() 这个函数曾经对于在PHP中防止SQL注入攻击提供了很大的帮助,它对特殊的字符,像单引号和双引号,加上了"反斜杠",确保用户的输入在
-
几个有用的php字符串过滤,转换函数代码
nl2br();// \n to addslashes(); stripslashes();//对数据库操作时,转义特殊字符 chop();//除去字符串右边空格 trim();//除去字符串中所有空格 ltrim();//除去字符串左边空格 htmlspecialchars();//转换'$','"','<','>'为相应的html实体 htmlentities();//转换所有html标记为相应的html实体 array explode(string separator, str
-
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字符过滤函数去除字符串最后一个逗号(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下过滤HTML代码的函数
/*---------------------- 过滤HTML代码的函数 -----------------------*/ function htmlEncode($string) { $string=trim($string); $string=str_replace("&","&",$string); $string=str_replace("'","'",$string);
-
比较好用的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 安全过滤函数代码
复制代码 代码如下: //安全过滤输入[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常用的安全过滤函数集锦
虽然各种开发框架给我们提供了很好的安全的处理方式,但是,我们还是要注意一下安全问题的. 原因简单:很多小的功能和项目是用不到框架的,我们需要自己解决安全问题! ①常用的安全函数有哪些: 复制代码 代码如下: mysql_real_escape_string() addslashes() ②这些函数的作用: mysql_real_escape_string()和addslashes()函数都是对数据中的 单引号.双引号进行转义!也就是防止sql注入! 但是mysql_real_escape_
随机推荐
- ColdFusionMX 编程指南 ColdFusionMX中的循环
- oracle创建数据库和用户的方法
- python新手经常遇到的17个错误分析
- JS实现HTML标签转义及反转义
- CodeIgniter基于Email类发邮件的方法
- JSP开发之Struts2实现下载功能的实例
- C语言 指针与数组的详解及区别
- 深入探究node之Transform
- 微信支付java版V3验证数据合法性(Deom)
- 关于jQuery里prev()的简单操作代码
- 下拉框select的绑定示例
- 杰奇jieqi用户评论vip图标显示效果代码 原创
- 双token实现token超时策略示例
- android实现背景平铺的三种方法
- C#连接数据库和更新数据库的方法
- .net core下对于附件上传下载的实现示例
- Python+PIL实现支付宝AR红包
- Oracle创建新undo表空间最佳实践(包含段检查)
- 浅谈Java 将图片打包到jar中的路径问题
- python3.6环境安装+pip环境配置教程图文详解
其他
- Python 读取数据中的一列绘制直方图和密度图
- java itextpdf 调整页面大小
- C#datatable合并指定列
- java 数据库的内容国际化
- jupyter notebook如何编辑文字格式和大小
- java如何关闭socket
- SQL触发器调exe文件错误
- python 解一元三次方程
- pycharm中packages一直刷新
- mybatis plus 自定义查询resultmap
- idea 怎么搭建ssh
- 宝塔数据库不能外部连接怎么利用
- excel表格转换成pdf后宽度不一样
- mybatis流查询案例
- 微信小程序6位验证码输入框
- 使用Ajax读取数据
- Laravel 框架验证规则识别中文
- py2022导入第三方库速度慢
- andoid aab包怎么出
- 将二维数组归一化到01