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中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
PHP三元运算的2种写法代码实例
May 12 PHP
PHPUnit安装及使用示例
Oct 29 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
PHP Reflection API详解
May 12 PHP
php中smarty区域循环的方法
Jun 11 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
PHP socket 模拟POST 请求实例代码
Jul 18 PHP
基于php判断客户端类型
Oct 14 PHP
phpStorm+XDebug+chrome 配置详解
Apr 01 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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中intval()等int转换时的意外异常情况
2013/06/21 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
用Python实现随机森林算法的示例
2017/08/24 Python
对Python定时任务的启动和停止方法详解
2019/02/19 Python
Python交互式图形编程的实现
2019/07/25 Python
python中的列表与元组的使用
2019/08/08 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
怎么写好自荐信
2013/10/30 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
住房租房协议书
2014/08/20 职场文书
2014年科研工作总结
2014/12/03 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
永不妥协观后感
2015/06/10 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏