zoukankan      html  css  js  c++  java
  • 手动编写一段防止sql注入的代码

    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。(百度百科复制)
    /**
     * sql注入手动过滤
     * @param  string $String      需要过滤字符串
     * @param  string $ErrorReturn 错误返回数据
     * @return string              过滤sql注入后的字符串
     */
    function sqlInjectCheck($String, $ErrorReturn = '')
    {
        if (empty($String)) {
            return  $ErrorReturn;
        }
    
        $farr = array(
            "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU",
            "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",
            "/select\b|insert\b|update\b|delete\b|drop\b|;|\"|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is",
        );
    
        $String = preg_replace($farr, '', $String);
        $String = strip_tags($String);
    
        if (empty($String)) {
            return $ErrorReturn;
        }
        
        return $String;
    }
    上面的函数很简单只是通过正则过滤一些关键字,和字符。
  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/wensens/p/9548222.html
Copyright © 2011-2022 走看看