php 过滤危险html代码
function uh($str)
{
$farr = array(
"/\s+/", //过滤多余的空白
"/<(\/?)(scripti?framestylehtmlbodytitlelinkmeta\?\%)([^>]*?)>/isU", //过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object的过滤
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", //过滤javascript的on事件
);
$tarr = array(
" ",
"<\\1\\2\\3>", //如果要直接清除不安全的标签,这里可以留空
"\\1\\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
相关推荐
-
php过滤html标记属性类用法实例
本文实例讲述了php 过滤html标记属性类及其用法.是PHP项目开发中比较常见的实用技巧.分享给大家供大家参考.具体方法如下: HtmlAttributeFilter.class.php类文件如下: <?php /** HTML Attribute Filter * Date: 2013-09-22 * Author: fdipzone * ver: 1.0 * * Func: * public strip 过滤属性 * public setAllow 设置允许的属性 * public set
-
php 正则 过滤html 的超链接
<?php echo preg_replace("/(?<=href=)([^\>]*)(?=\>)/i","#", "<a href='www.csdn.net'>你好,点这里看看</a><a href='www.jb51.net'>你好,点这里看看</a>"); ?> 正则:/(?<=href=)([^\>]*)(?=\>)/ (?<=exp
-
浅析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 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+Tidy-完美的XHTML纠错+过滤
输入和输出 输入和输出应该说是很多网站的基本功能.用户输入数据,网站输出数据供其他人浏览. 拿目前流行的Blog为例,这里的输入输出就是作者编辑文章后生成博客文章页面供他人阅读. 这里有一个问题,即用户输入通常是不受控制的,它可能包含不正确的格式亦或者含有有安全隐患的代码:而最终网站输出的内容却必须是正确的HTML代码.这就需要对用户输入的内容进行纠错和过滤. 永远不要相信用户的输入 你可能会说:现在到处都是所见即所得的编辑器(WYSIWYG),FCKeditor.TinyMCE...你可能会举
-
php完全过滤HTML,JS,CSS等标签
记得以前写过一篇文章 php有效的过滤html标签,js代码,css样式标签: 复制代码 代码如下: <?php $str = preg_replace( "@<script(.*?)</script>@is", "", $str ); $str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str ); $str = preg_r
-
php过滤html中的其他网站链接的方法(域名白名单功能)
复制代码 代码如下: /** * 过滤外站链接 * @param array $local_domain 本站域名 数组 * @param string $message 文本内容 */ function replace_outer_links($local_domain_arr, $message) { $pattern= '/<[^>]*href=[\'\"]http[s]?:\/\/(?!' ; $i = 0 ;
-
PHP中HTML标签过滤技巧
在开发文章系统中正常需要用到HTML标签.JS脚本等其他脚本代码的过滤,稍微尝试了下,感觉简单的htmlspecialchars()函数的过滤效果始终不如strip_tags()函数的过滤效果好. 其中有人会说我就想还要显示点图片,那怎么办呢? 没关系,我们对文章内容进行二次处理,正则找出某个图片的地址,然后对整个布局动态调控下,将图片放到最后,其效果还有可能会达到微博或者是Q空间动态的那种效果,多一举两得啊!
-
php实现过滤表单提交中html标签的方法
本文实例讲述了php实现过滤表单提交中html标签的方法.分享给大家供大家参考.具体实现方法如下: 有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法. 近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target=
-
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过滤HTML标签、属性等正则表达式汇总
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=p
-
php正则过滤html标签、空格、换行符的代码(附说明)
复制代码 代码如下: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //
随机推荐
- Vue实现百度下拉提示搜索功能
- 基于AngularJS前端云组件最佳实践
- oracle下一条SQL语句的优化过程(比较详细)
- 基于ASP.NET MVC的ABP框架入门学习教程
- AJAX for PHP简单表数据查询实例
- Python转换HTML到Text纯文本的方法
- Android中EditText 设置 imeOptions 无效问题的解决方法
- Windows下MySQL 5.7无法启动的解决方法
- 常用的几段javascript代码分享
- PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
- JAVA 中解密RSA算法JS加密实例详解
- 一个php短网址的生成代码(仿微博短网址)
- jquery实现鼠标滑过显示提示框的方法
- sql 中 case when 语法使用方法
- url 编码 js url传参中文乱码解决方案
- jquery实现文本框textarea自适应高度
- Java中的static关键字全面解析
- Android仿微信朋友圈全文收起功能示例(附源码)
- android中的AIDL进程间通信示例
- java中的匿名内部类总结