Output Sanitation

时间:2013-05-30 作者:Jason Lucas

我已经在WordPress中阅读了WP codex和一些关于数据验证和卫生的教程。现在我有了这个简单的示例代码:

$title = "<script>alert(\'Test\')</script>"; echo esc_html($title);

根据教程和法典,这应该是输出:&lt;script&gt;alert&#40;&#39;test&#39;&#41;&lt;&#47;script&gt;

但在我的网站上,我发现:<script>alert(\'Test\')</script>.

我做错什么了吗?因为没有执行XSS,所以esc\\U html过滤器工作正常。

提前感谢!

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

您的代码工作正常。如果查看页面的源代码,您将看到:

&lt;script&gt;alert(&#039;Test&#039;)&lt;/script&gt;
当浏览器处理上述文本以供显示时,它将变为

<script>alert(\'Test\')</script>
这就是你想要的displayed.

结束

相关推荐

Comment form validation

如何设置注释字段的验证规则?我更改了评论者姓名/电子邮件/主页onmouseover和onblur的值(我使用它而不是标签-因此如果字段为空,它会显示“您的电子邮件”、“您的主页”等)。问题是,在提交时,它会在主页字段中提交此文本(因为它没有验证,而不像电子邮件字段,如果您输入了除[email protected]).如何验证主页字段?