symfony1 - 如何利用转义来防止XSS攻击?

标签 symfony1 xss escaping

To prevent XSS attacks, output escaping has been enabled;

以上来自symfony,但我看不懂。

最佳答案

XSS 是“跨站脚本”的缩写。当您设法将脚本(通常是 javascript)偷偷溜到其他人的网站上并在那里恶意运行时,就会发生跨站点脚本攻击。

当用户向网站输入内容时,就有可能发生 XSS。例如,如果我正在填写一个网络表单,它询问我的名字,我可以输入 My name is <script src="http://bad.domain/evilscript.js"></script> 。如果我提交表单,然后在下一页上要求我确认我的详细信息并重新输出我输入的内容,我输入的讨厌的 HTML 标签将被渲染,并且脚本将被下载并由浏览器运行。

为了防止这种情况,您需要转义用户输入。转义意味着您转换(或标记)数据的关键字符,以防止其在危险的上下文中被解释。对于 HTML 输出,您需要转换 <> 字符(以及其他字符),以防止呈现任何恶意 HTML。转义这些字符涉及将它们转换为实体等价物 &lt;&gt;(请参阅 PHP 的 htmlspecialchars() 函数),浏览器不会将其解释为 HTML 标记。

Symfony 试图告诉您的是,它有能力为您的输出自动执行此操作,并且该功能已启用。

关于symfony1 - 如何利用转义来防止XSS攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159724/

相关文章:

php - symfony - jquery 日期时间选择器

security - 转义 < 足以防止 XSS 攻击

c++ - 如何通过编程删除stdout中的字符?

mysql - 如何在 databases.yml 中为 mysql 连接设置自定义端口?

php - 对于 Web 开发商店(10 岁以上)来说,Symfony 是比 Zend 更好的选择吗,因为它是一个完整的堆栈框架?

view - 如何添加助手来查看助手?

javascript - 如何使用ESAPI解决JavaScript DOM XSS?

php - 如何在 PHP 中转义输出

Javascript:如何使用 JavaScript 可读的特殊字符来操作生成的字符串(来自 .net)

django - 处理 Django blocktrans 标签中的百分号 (%)