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环境搭建最新方法
Sep 05 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
PHP 日,周,月点击排行统计
Jan 11 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
分享PHP函数实现数字与文字分页代码
Jul 28 PHP
php使用pear_smtp发送邮件
Apr 15 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
PHP获取当前时间不准确问题解决方案
Aug 14 PHP
Swoole源码中如何查询Websocket的连接问题详解
Aug 30 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
PHP 远程关机实现代码
2009/11/10 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
php实现的生成排列算法示例
2019/07/25 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
javascript dom代码应用 简单的相册[firefox only]
2010/06/12 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
python魔法方法-自定义序列详解
2016/07/21 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
如何提高python 中for循环的效率
2020/04/15 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
委托公证书
2014/04/08 职场文书
活动新闻稿范文
2015/07/17 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang
用Python创建简易网站图文教程
2021/06/11 Python