PHP:如何彻底防止XSS攻击?
如何才能完全防止 PHP 中的 xss 攻击?这是假设我不关心任何 HTML 标签或其他格式。仅运行 strip_tags 并使其完全安全就足够了吗?
How can I totally prevent xss-attacks in PHP? This is assuming I do not care for any HTML tags or other formatting. Would it be enough to just run strip_tags and have it be completely safe?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
htmlspecialchars()
和strip_tags()
都被认为可以安全地清理用户输入以在 HTML 页面上输出。相关:
Both
htmlspecialchars()
andstrip_tags()
are considered safe for cleaning user input for output on a HTML page.Related:
最简单的方法就是阻止任何用户输入 HTML 标签。如果您 strip_tags() 或 htmlspecialchars() 所有用户输入,则无法引入
标记。
如果您想允许有限的标记,那么您可以使用类似 bbcode 的语法(找到一个 PHP 库来执行此操作应该不难,尽管我自己从未这样做过,所以在这方面没有任何建议) ,或者您可以使用 HTMLpurifier 来限制允许用户输入的标记。
The easiest way is to simply prevent any users from entering HTML tags. If you strip_tags() or htmlspecialchars() all user input then there is no way to introduce a
<script>
tag.If you want to allow limited markup, then you can use a bbcode-like syntax (finding a PHP library for doing this shouldn't be hard, though I've never done this myself so don't have any recommendations on that front), or you could use HTMLpurifier to restrict the markup that users are allowed to enter.