帝国模板之家为广大用户提供专业、一站式建站服务。

帝国cms教程

帝国cms教程栏目,提供精品建站,仿站,二次开发,安装,标签使用等图文教程,帮助建设和管理好你的帝国cms站点。

当前位置:首页 > 教程 > 帝国cms教程 > 正文

帝国cms二次开发经常会用的ehtmlspecialchars函数介绍

帝国模板之家 2020-10-20 帝国cms教程 评论

今天给大家介绍一下帝国cms的ehtmlspecialchars函数,二次开发中经常会用到。该函数可以把一些预定义的字符转换为HTML实体,返回转换后的新字符串,原字符串不变。用于防止别人提交html代码进行攻击, 比如我发帖时提交HTML代码, 代码里含有攻击性代码 .. 那么接收时进行htmlspecialchars转换 就可以让代码不生效.

函数在:/e/class/function.php 中,代码如下:

//htmlspecialchars处理
function ehtmlspecialchars($val,$flags=ENT_COMPAT){
    global $ecms_config;
    if(PHP_VERSION>='5.4.0')
    {
        if($ecms_config['sets']['pagechar']=='utf-8')
        {
            $char='UTF-8';
        }
        else
        {
            $char='ISO-8859-1';
        }
        $val=htmlspecialchars($val,$flags,$char);
    }
    else
    {
        $val=htmlspecialchars($val,$flags);
    }
    return $val;
}

被转换的预定义的字符有:

&:转换为&
":转换为"
':转换为成为 '
<:转换为&lt;
>:转换为&gt;

$flags可选参数还有 

可用的引号类型:

ENT_COMPAT - 默认。仅编码双引号。

ENT_QUOTES - 编码双引号和单引号。

ENT_NOQUOTES - 不编码任何引号。

无效的编码:

ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。

ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。

ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。

规定使用的文档类型的附加 flags:

ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。

ENT_HTML5 - 作为 HTML 5 处理代码。

ENT_XML1 - 作为 XML 1 处理代码。

ENT_XHTML - 作为 XHTML 处理代码。

推荐教程:帝国CMS教程

以上就是帝国cms二次开发经常会用的ehtmlspecialchars函数介绍,更多相关内容请关注帝国模板之家

美梦,诞生在一瞬间,这短暂的喜悦,也就像泡沫一样,往往

已有 位小伙伴发表了看法

欢迎 发表评论

  • 匿名发表

关于

帝国cms模板

网页插件

帝国模板之家 | www.moyouyouw.cn

本站所有模板/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系站长删除,谢谢! 寻找帝国cms模板首选帝国模板之家,用心做站,上线至今广受好评,值得信赖!

  • 交流群1:帝国cms交流群1
  • 交流群2:帝国cms交流群2
在线QQ 给我留言