• PHP通用的防注入过滤用户字符串函数


    PHP通用的防注入过滤用户字符串函数

    今天做完了整个php项目,想来安全问题不少,开发程序的过程中无心过滤参数。所以注入少不了,才有了下面的防注入程序。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    function jk1986_checksql()  
    {  
    $bad_str = "and|select|update|'|delete|insert|*";  
    $bad_Array = explode("|",$bad_str);  
    /** 过滤Get参数 **/
    foreach ($bad_Array as $bad_a)  
    {  
       foreach ($_GET as $g)  
        {  
         if (substr_count(strtolower($g),$bad_a) > 0)  
         {  
         echo "<script>alert('诡异字符,请不要尝试注入本站! 作者:Jk1986 QQ:414028660');location.href='index.php';</script>";  
         exit();  
         }  
         }  
    }  
          
    /** 过滤Post参数 **/
          
        foreach ($bad_Array as $bad_a)  
       {  
       foreach ($_POST as $p)  
         {  
         if (substr_count(strtolower($p),$bad_a) > 0)  
         {  
         echo "<script>alert('诡异字符,请不要尝试注入本站! 作者:Jk1986 QQ:414028660');location.href='index.php';</script>";  
         exit();  
         }  
         }  
       }  
            
        /** 过滤Cookies参数 **/
          
        foreach ($bad_Array as $bad_a)  
       {  
       foreach ($_COOKIE as $co)  
         {  
         if (substr_count(strtolower($co),$bad_a) > 0)  
         {  
         echo "<script>alert('诡异字符,请不要尝试注入本站! 作者:Jk1986 QQ:414028660');location.href='index.php';</script>";  
         exit();  
         }  
         }  
       }    
    }
  • 相关阅读:
    创意吃鱼法
    雅礼上课
    坏掉的项链Broken Necklace
    2018-04-02练习
    【11月12日】Hadoop架构
    【11月10日】Redis 主从复制技术
    【11月10日】Redis 缓存系统常见问题及解决方案
    【11月9日】Redis 持久化
    【11月7日】Redis核心对象和数据类型
    【11月7日】Redis简介
  • 原文地址:https://www.cnblogs.com/fx2008/p/2974944.html
Copyright © 2020-2023  润新知