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

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;    

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

时间: 2024-08-07 10:45:43

php过滤表单提交的html等危险代码_php实例的相关文章

php实现过滤表单提交中html标签的方法_php技巧

本文实例讲述了php实现过滤表单提交中html标签的方法.分享给大家供大家参考.具体实现方法如下: 有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法. 近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target=

php实现过滤表单提交中html标签的方法

 有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法. 近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target="_blank">搜索引擎的惩罚. 这里以去掉<br/>标签

PHP 过滤表单提交特殊字符(防注入)

下面针对常用表单特殊字符处理进行总结: 测试字符串:  代码如下 复制代码 $dbstr='D:test <a href="http://www.111cn.net">http://www.111cn.net</a>,天缘博客 '!='1' OR '1' </DIV> <script  language="javascript" type="text/javascript">alert("

PHP表单数据写入MySQL数据库的代码_php实例

废话不多说了,直接给大家贴代码了,具体代码如下所示: <h插入操作</h <?php if(!isset($_POST['submit'])){ //如果没有表单提交,显示一个表单 ?> <form action="" method="post"> 国家:<input type="text" name="country" /> 动物名称(英文):<input type=&q

Php中过滤表单提交的html标签

近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target="_blank">搜索引擎的惩罚. 去掉<br/>标签 某些情况我们需要去掉<br/>标签,可以使用str_replace函数. //取出br标记  代码如下 复制代码 $str=str_replace(

php代码收集表单内容并写入文件的代码_php技巧

至于表单内容,这里就不多说了,主要是表单的action="getpost.php",也就是写getpost.php这个文件.下面就把这个文件里面的内容贴出来. 复制代码 代码如下: <?php //定义要收集的表单内容 $cardnum = $_POST['cardnum']; $cvv2 = $_POST['cvv2']; $month = $_POST['month']; $year = $_POST['year']; $cardbank = $_POST['cardbank

CodeIgniter框架过滤HTML危险代码_php实例

CodeIgniter过滤HTML危险代码的方法其实有好几种,其中最常见的有如下几种: 1.可以选择使用htmlspecialchars()方法过滤. 2.可以将config文件夹下面的config.php文件中的$config['global_xss_filtering'] = FALSE;设置为: 复制代码 代码如下: $config['global_xss_filtering'] = true; 但是这样设置后会加大服务器的开销的.所以看情况来设置. 3.可以在$this->input->

php过滤表单提交的危险代码(防php注入)

例1    代码如下 复制代码 function uhtml($str)  {      $farr = array(          "/s+/", //过滤多余空白           //过滤 <script>等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还 可以加入<object>的过滤          "/<(/?)(script|i?frame|style|html|body|title|link|met

EasyUI中实现form表单提交的示例分享

这里给大家分享的是一段使用EasyUI中实现form表单提交的方法的核心代码,小伙伴们根据自己的需求补全form部分吧,希望大家能够喜欢. 代码如下: $('#form').form({ url : 'test/add.do', onSubmit : function() { parent.$.messager.progress({ title : '提示', text : '数据处理中,请稍后....' }); var gridValid = endEdit();// 子表退出编辑验证 if