php过滤表单提交的html等危险代码


Posted in PHP onNovember 03, 2014

PHP过滤提交表单的html代码里可能有被利用引入外部危险内容的代码。例如,有些时候用户提交表单中含有html内容,但这可能造成显示页面布局混乱,需要过滤掉。

方法一:

//get post data

 function PostGet($str,$post=0)

 {

  empty($str)?die('para is null'.$str.'!'):'';

  

  if( $post ) 

  {

   if( get_magic_quotes_gpc() )

   {

    return htmlspecialchars(isset($_POST[$str])?$_POST

[$str]:'');

   }

   else

   {

    return addslashes(htmlspecialchars(isset($_POST[$str])?

$_POST[$str]:''));

   }

   

  }

  else

  {

   if( get_magic_quotes_gpc() )

   {

    return htmlspecialchars(isset($_GET[$str])?$_GET[$str]:''); 

   }

   else

   {

    return addslashes(htmlspecialchars(isset($_GET[$str])?

$_GET[$str]:'')); 

   }

  }

 }

方法二:

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;     

} 

很实用的方法吧,希望对大家能有所帮助

PHP 相关文章推荐
用PHP实现维护文件代码
Jun 14 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
php5.3 注意事项说明
Jul 01 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
php生成二维码图片方法汇总
Dec 17 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
php中用unset销毁变量并释放内存
May 10 PHP
PHP屏蔽过滤指定关键字的方法
Nov 03 #PHP
php中count获取多维数组长度的方法
Nov 03 #PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 #PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 #PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 #PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 #PHP
ThinkPHP分组下自定义标签库实例
Nov 01 #PHP
You might like
php 异常处理实现代码
2009/03/10 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
php数组指针操作详解
2017/02/14 PHP
jQuery版仿Path菜单效果
2011/12/15 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
学习python的几条建议分享
2013/02/10 Python
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
Python文本统计功能之西游记用字统计操作示例
2018/05/07 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
python如何基于redis实现ip代理池
2020/01/17 Python
python多维数组分位数的求取方式
2020/03/03 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
文职个人求职信范文
2013/09/23 职场文书
网站开发实习生的自我评价
2013/12/11 职场文书
库房管理员岗位职责
2014/03/09 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
单位委托函范文
2015/01/29 职场文书
谢师宴家长致辞
2015/07/27 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书