WordPress转义评论内容,防止恶意代码_WordPress教程

WordPress转义评论内容,防止恶意代码_WordPress教程

当评论者添加评论的时候,WordPress默认不转义评论内容中的所有代码,这就意味着评论者在评论中输入 html 代码,其他访客查看到的评论就是被浏览器解释过的html内容! 上面说得可能很抽象,你可以尝试给你的文章添加以下评论内容: <a href="htt...

当评论者添加评论的时候,WordPress默认不转义评论内容中的所有代码,这就意味着评论者在评论中输入 html 代码,其他访客查看到的评论就是被浏览器解释过的html内容!

上面说得可能很抽象,你可以尝试给你的文章添加以下评论内容:

<a href="http://www.example.com">送钱啦</a>

 评论添加成功后,是不是看到一个链接”送钱啦”呢?你点击看一下是什么效果。如果看不到”送钱啦”链接而是以上html代码,恭喜你,你的博客挺安全的,以下内容可看可不看。

 其实上面的代码只是超链接,没有任何恶意。但是你应该提高警惕了,并不是所有的评论者都是善意的,他们可能会往评论内容中添加恶意代码(典型方式:广告链接等)!另外,WordPress 2.9.2及以下版本存在一个漏洞,允许博客管理员身份的用户在评论中添加跨站攻击代码,这就意味这管理员身份可对博客进行跨站攻击,当然你可能会问,博客管理员怎么会攻击自己的博客呢?试想,你的博客管理员账号被人破解了怎么办?不过这样的概率挺小哦。

解决办法

即使你的博客管理后台的管理员身份被人破解了,一般他也不会同时破解你的网站空间ftp账号,所以他也更改不了你的网站文件,你可以更改WordPress源文件代码过滤评论,这样不管是谁的评论都过滤一遍。打开当前使用的主题目录下的functions.php,在将第一个 <?php 替换成:

<?php
function mobantu_code_escape( $incoming_comment ) {
    $incoming_comment = htmlspecialchars($incoming_comment, ENT_QUOTES);
    return $incoming_comment;
}
add_filter( 'comment_text', 'mobantu_code_escape' );
add_filter( 'comment_text_rss', 'mobantu_code_escape' );

以上方法是将评论内容中的代码转义,这样浏览器就不解释这部分代码了,代码也不会起任何作用,并且可以直接看到评论中的代码。这么改的好处是可以在评论中展示代码,另外可以看看到底哪些人在评论中添加了恶意代码。如果你希望去除所有代码标签,只留下文字内容,请将以上代码改成:

<?php 
function mobantu_code_escape( $incoming_comment ) {     
    $incoming_comment = strip_tags($incoming_comment);     
    return $incoming_comment; 
} 
add_filter( 'comment_text', 'mobantu_code_escape' ); 
add_filter( 'comment_text_rss', 'mobantu_code_escape' ); 

关于strip_tags过滤函数,可以看看php的strip_tags说明文档

总之还是那句话,为了你的网站安全,不要信任用户输入的任何内容!

原文链接:https://www.dqzy.cn/2025/05/26/694.html,转载请注明出处。 1、本站所有源码资源(包括源代码、软件、学习资料等)仅供研究学习以及参考等合法使用,请勿用于商业用途以及违法使用。如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容! 2、访问本站的用户必须明白,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,请用户在下载使用前必须详细阅读并遵守软件作者的“使用许可协议”,本站仅仅是一个学习交流的平台。 3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为:www.dqzy.cn。 4、点启资源网是一个免费且专业分享网站源码、图片素材、特效代码、教程文章、站长工具的平台。我们努力给站长提供好的资源!
0

评论0

请先
显示验证码
没有账号?注册  忘记密码?