美文网首页
Yii下防守CSRF与XSS[二]

Yii下防守CSRF与XSS[二]

作者: Cesium中文网 | 来源:发表于2018-08-27 10:34 被阅读0次

    参考链接:
    http://blog.coinidea.com/web%E5%BC%80%E5%8F%91/php-890.html

    之前已经写过Yii下防守CSRF与XSS[一]

    但是真正面临测试的时候,有一个需求是说希望过滤掉特殊的字符,比如:,;”<>%等。

    Yii中的CHtml::purifier实际上只针对html的过滤,CHtml::encode本质上调用的是htmlspecialchars。

    • htmlspecialchars只转化<、>、 单引号、双引号、&符号

    • htmlentities会转化所有的html符号

    可以看到PHP内置的函数都不能过滤全部的特殊字符,此时采用的方式是在Yii框架下,新建一个Filter类,自己重写specialchar函数,可以随心所欲的替换字符。为了提高性能,可以定义成public static调用。

    class Filter
    {
        public static function ReplaceSpecialChar($str)
        {
            $str=str_replace(":",$str);
            //TODO: replace other chars
            $str = htmlspecialchars($str);
            return $str;
        }
    }
    

    参考链接:
    http://blog.coinidea.com/web%E5%BC%80%E5%8F%91/php-890.html

    相关文章

      网友评论

          本文标题:Yii下防守CSRF与XSS[二]

          本文链接:https://www.haomeiwen.com/subject/kmrziftx.html