php sql防注入以及 html 过滤安全函数
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-25 11:27:13 浏览: 评论:0
方法一过滤html自定义函数,代码如下:
- function ihtmlspecialchars($string) {
- if(is_array($string)) {
- foreach($string as $key => $val) {
- $string[$key] = ihtmlspecialchars($val);
- } //开源代码phpfensi.com
- } else {
- $string = preg_replace('/&((#(d{3,5}|x[a-fa-f0-9]{4})|[a-za-z][a-z0-9]{2,5});)/', '&\1',
- str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string));
- }
- return $string;
方法二,代码如下:
- // $rptype = 0 表示仅替换 html标记
- // $rptype = 1 表示替换 html标记同时去除连续空白字符
- // $rptype = 2 表示替换 html标记同时去除所有空白字符
- // $rptype = -1 表示仅替换 html危险的标记
- function htmlreplace($str,$rptype=0)
- {
- $str = stripslashes($str);
- if($rptype==0)
- {
- $str = htmlspecialchars($str);
- }
- else if($rptype==1)
- {
- $str = htmlspecialchars($str);
- $str = str_replace(" ",' ',$str);
- $str = ereg_replace("[rnt ]{1,}",' ',$str);
- }
- else if($rptype==2)
- {
- $str = htmlspecialchars($str);
- $str = str_replace(" ",'',$str);
- $str = ereg_replace("[rnt ]",'',$str);
- }
- else
- {
- $str = ereg_replace("[rnt ]{1,}",' ',$str);
- $str = eregi_replace('script','script',$str);
- $str = eregi_replace("<[/]{0,1}(link|meta|ifr|fra)[^>]*>",'',$str);
- }
- return addslashes($str);
- }
其它方法,php过滤不安全字符函数,代码如下:
- function uh($str)
- {
- $farr = array(
- "/s+/",//过滤多余的空白
- "/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isu",//过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object的过滤
- "/(<[^>]*)on[a-za-z]+s*=([^>]*>)/isu",//过滤网页特效的on事件
- );
- $tarr = array(
- " ",
- "<\1\2\3>", //如果要直接清除不安全的标签,这里可以留空
- "\1\2",
- );
- $str = preg_replace($farr,$tarr,$str);
- return $str;
Tags: php sql防注入 html过滤函数
相关文章
- ·PHP校验ISBN码的函数(2013-11-11)
- ·PHP不缓存数据头(2013-11-11)
- ·PHP采集程序中常用的函数(2013-11-11)
- ·PHP多重判断删除文件函数(2013-11-11)
- ·php中文汉字截取函数(2013-11-12)
- ·如何用php创建与删除多级目录函数(2013-11-14)
- ·什么函数能够把文件从一个目录下转移到另外一个目录下?(2013-11-27)
- ·php_admin_value(php_admin_flag)和php_value(php_flag)(2013-11-27)
- ·使用PHP重新实现PHP脚本引擎内置函数(2013-11-27)
- ·计算一个程序的执行时间的函数(2013-11-27)
- ·php curl_init函数用法(2013-11-28)
- ·php md5 与md5_file区别详细说明(2013-11-28)
- ·php session_cache_limiter session_cache_expire等函数(2013-11-29)
- ·php var_dump简单测试(2013-11-29)
- ·php file_exists无效解决办法(2013-11-29)
- ·强大的php检查文件类型(2013-11-30)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)