清理注释或转义COMMENT_TEXT()

时间:2021-04-19 作者:p01ntbr34k

我正在WordPress网站上创建评论模板。我注意到<script>alert(1);</script> 使用comment_text() 函数以显示我的评论。No bueno.

如何正确清理和/或转义WordPress评论?这个esc_html() 函数,在这种情况下似乎没有任何作用。

1 个回复
最合适的回答,由SO网友:p01ntbr34k 整理而成

仔细考虑一下,我想确保正确转义您的评论的正确方法是这样做:

$the_comment = get_comment_text();
echo \'<p>\' . esc_html($the_comment) . \'</p>\'; 
不要简单地使用这样的函数:

comment_text();
如果没有正确地转义这些方便的函数,那么为什么一开始就有这些方便的函数呢?这个comment_author(); 功能是,但这不是出于某种原因?

也许我错过了什么

was 遗漏了一些东西:unfiltered_html 赋予管理员角色的功能扩展到注释。请在此处阅读更多信息:https://wordpress.org/support/article/roles-and-capabilities/#unfiltered_html

相关推荐

限制GET_COMMENTS()的注释数量

下面是我用来在循环中显示帖子注释的代码(自定义帖子类型)。我只想显示最新的3条评论。请帮助我限制评论。<?php foreach (get_comments() as $comment): ?> <div><span class="author-name"><?php echo $comment->comment_author; ?> said:</span> <span class="