discuz防止跨站攻击函数dhtmlspecialchars分析

dhtmlspecialchars的作用是,防止跨站攻击,将网页中的字符转化为html实体!

  1. function dhtmlspecialchars($string, $flags = null) {
            if(is_array($string)) {
                    foreach($string as $key => $val) {
                            $string[$key] = dhtmlspecialchars($val, $flags);
                    }
            } else {
                    if($flags === null) {
                            $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string);
                            if(strpos($string, '&#') !== false) {
                                    $string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', $string);
                            }
                    } else {
                            if(PHP_VERSION < '5.4.0') {
                                    $string = htmlspecialchars($string, $flags);
                            } else {
                                    if(strtolower(CHARSET) == 'utf-8') {
                                            $charset = 'UTF-8';
                                    } else {
                                            $charset = 'ISO-8859-1';
                                    }
                                    $string = htmlspecialchars($string, $flags, $charset);
                            }
                    }
            }
            return $string;
    }

常见的使用方法:

  1. dhtmlspecialchars(trim($value))

复制代码

五月源码网 discuz教程 discuz防止跨站攻击函数dhtmlspecialchars分析 https://www.u532.com/1614.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务