PHP防XSS 防SQL注入的代码

Posted ノGHJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP防XSS 防SQL注入的代码相关的知识,希望对你有一定的参考价值。

作为开发人员时刻要记住一句话,永远不要相信任何用户的输入!很多时候我们的网站会因为我们开发人员写的代码不够严谨,而使网站受到攻击,造成不必要的损失!下面介绍一下如何防止SQL注入!

这里提供了一个函数,用来过滤用户输入的内容!使用POST传值的时候,可以调用这个函数进行过滤!

    /**
     * 过滤参数
     * @param string $str 接受的参数
     * @return string
     */
    static public function filterWords($str)
    {
        $farr = array(
                "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU",
                "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",
                "/select|insert|update|delete|\‘|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is"
        );
        $str = preg_replace($farr,‘‘,$str);
        return $str;
    }
     
    /**
     * 过滤接受的参数或者数组,如$_GET,$_POST
     * @param array|string $arr 接受的参数或者数组
     * @return array|string
     */
    static public function filterArr($arr)
    {
        if(is_array($arr)){
            foreach($arr as $k => $v){
                $arr[$k] = self::filterWords($v);
            }
        }else{
            $arr = self::filterWords($v);
        }
        return $arr;
    }

以上是关于PHP防XSS 防SQL注入的代码的主要内容,如果未能解决你的问题,请参考以下文章

防XXS和SQL注入

PHP防SQL注入攻击

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

整理php防注入和XSS攻击通用过滤

php防攻击

php $_REQUEST写法防注入突破