php防注入xss攻击

<?php
//php防注入和XSS攻击通用过滤.
//by qq:831937
$_GET       && SafeFilter($_GET);
$_POST      && SafeFilter($_POST);
$_COOKIE    && SafeFilter($_COOKIE);

function SafeFilter (&$arr)
{
      if (is_array($arr))
     {
          foreach ($arr as $key => $value)
          {
               if (!is_array($value))
               {
                    if (!get_magic_quotes_gpc())    //不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。
                    {
                         $value    = addslashes($value);    //给单引号(‘)、双引号(")、反斜线(\)与 NUL(NULL 字符)加上反斜线转义
                    }
                    $arr[$key]         = htmlspecialchars($value,ENT_QUOTES);   //&,",‘,> ,< 转为html实体 &amp;,&quot;',&gt;,&lt;

               }
               else
               {
                    SafeFilter($arr[$key]);
               }
          }
     }
}
?>
时间: 2024-10-20 13:49:41

php防注入xss攻击的相关文章

表单提交 防注入XSS 1入库时转义、后台 2出库转义、前台

第一种 入库过滤js 自动填充时过滤js代码class GoodsModel extends Model{ // 填充 protected $_auto = [ // 自己补充填充规则 // 描述中 处理掉script部分 ['description', 'mkDescription', self::MODEL_BOTH, 'callback'], // 仅仅需要在插入维护 ['created_at', 'time', self::MODEL_INSERT, 'function'], // 更新

PHP_解析xss攻击、sql注入

/** * PHP解决XSS(跨站脚本攻击)的调用函数 * PHP跨站脚本漏洞补丁,去除XSS(跨站脚本攻击)的函数,把以下代码保存在function.php文件中,在需要防御的页面中include * Enter description here ... * @param unknown_type $val */ function RemoveXSS($val) { $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $

「PHP开发APP接口实战009」日常安全防范之防SQL入和XSS攻击

防SQL注入和XSS攻击通用过滤 首先在 /app/library/ 目录下创建 Security.php 文件并添加以下代码: <?php /** * * 防SQL注入和XSS攻击通用过滤 */ class Security { public static function filter(&$params) { if (!is_array($params)) { return; } $patterns = ['/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/i', '

SQL 注入、XSS 攻击、CSRF 攻击

SQL 注入.XSS 攻击.CSRF 攻击 SQL 注入 什么是 SQL 注入 SQL 注入,顾名思义就是通过注入 SQL 命令来进行攻击,更确切地说攻击者把 SQL 命令插入到 web 表单或请求参数的查询字符串里面提交给服务器,从而让服务器执行编写的恶意的 SQL 命令. 对于 web 开发者来说,SQL 注入已然是非常熟悉的,而且 SQL 注入已经生存了 10 多年,目前已经有很成熟的防范方法,所以目前的 web 应用都很少会存在漏洞允许进行 SQL 注入攻击. 除非是入门开发人员,在开发

nginx服务器防sql注入/溢出攻击/spam及禁User-agents

本文章给大家介绍一个nginx服务器防sql注入/溢出攻击/spam及禁User-agents实例代码,有需要了解的朋友可进入参考. 在配置文件添加如下字段即可  代码如下 复制代码 server { ## 禁SQL注入 Block SQL injections set $block_sql_injections 0; if ($query_string ~ "union.*select.*(") { set $block_sql_injections 1; } if ($query_

xss攻击和sql注入防范

php xss攻击防范 如果类似商品标题之类的,可以使用 strip_tags() 过滤,全部清除掉html标签. 如果类似商品描述之类的,可以使用 htmlspecialchars() 过滤,把html标签转义. sql注入防范 数字类型参数,可以使用 (int)/intval() 强制转为整形. 字符串类型参数,可以使用 mysql_real_escape_string() 转义特殊字符. java xss攻击防范 输入时处理,使用 StringEscapeUtils.escapeHtml4

防止sql注入。xss攻击 方法

//防止sql注入.xss攻击    /**     * 过滤参数     * @param string $str 接受的参数     * @return string     */    public function actionFilterWords($str)    {        $farr = array(            "/<(\\)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^

防止SQL注入和XSS攻击Filter

nbsp;今天系统使用IBM的安全漏洞扫描工具扫描出一堆漏洞,下面的filter主要是解决防止SQL注入和XSS攻击 一个是Filter负责将请求的request包装一下. 一个是request包装器,负责过滤掉非法的字符. 将这个过滤器配置上以后,世界总算清净多了.. 代码如下: import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.serv

360 webscan中防注入跨站攻击的核心

//get拦截规则 $getfilter = "\\<.+javascript:window\\[.{1}\\\\x|<.*=(&#\\d+?;?)+?>|<.*(data|src)=data:text\\/html.*>|\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\\(\d+?|sleep\s*?\\([\d\.]+?\\)|load_file\s*?\\()|<[a-z