首页 > 用PDO还用过滤用户输入吗?

用PDO还用过滤用户输入吗?

如果用的话怎么过滤呢?


坑定要过滤啊!还要过滤xss等


php版本<=5.3.6 我本地测试设置了setAttribute(PDO::ATTR_EMULATE_PREPARES, false) 也还是在本地处理prepare,不知道是不是我测试的问题,测试了两个php版本 php 5.2.3/5.2.17


最好还是过滤一下比较好,虽然PDO预处理可以防止SQL注入。像intval;trim这些简单字符处理就不多说了。过滤主要考虑到一些特殊字符,如下我处理字符的一个方法,可以参考一下,希望对你有帮助

/**
 * description 过滤转义POST|GET的数据
 */
function isEscape($val, $isboor = false) {
    if (! get_magic_quotes_gpc ()) {
        $val = addslashes ( $val );
    }
    if ($isboor) {
        $val = strtr ( $val, array (
                "%" => "\%",
                "_" => "\_" 
        ) );
    }
    return $val;
}

简单的过滤肯定需要啊,像数据长度、数据类型等等,都需要过滤的,pdo只是解决了sql注入的问题。其它程序逻辑方面的问题都要自己解决的。


要的比如XSS

【热门文章】
【热门文章】