gpt4 book ai didi

php - 如何使用 PHP 实现 OWASP 规则 5 来缓解 XSS

转载 作者:行者123 更新时间:2023-11-30 06:42:07 24 4
gpt4 key购买 nike

OWASP Rule 5有人可以向我解释一下这到底是什么意思以及如何在 PHP 中实现它吗?

Do not encode complete or relative URL's with URL encoding! If untrusted input is meant to be placed into href, src or other URL-based attributes, it should be validated to make sure it does not point to an unexpected protocol, especially Javascript links. URL's should then be encoded based on the context of display like any other piece of data. For example, user driven URL's in HREF links should be attribute encoded.

SO 上的这个答案似乎涵盖了其中的一部分: input is URL, how to protect it from xss使用 makeHTMLAttributeSafe($string) 函数。但是我如何检查它是否是“意外协议(protocol)或 javascript 链接”?我是否应该搜索并替换某些“不良”关键字,如“javascript”、“script”、“onload”等?没有充分的理由说明为什么我的任何用户都需要输入这些条款,所以我同意在必要时采用相当严厉的方法删除列入黑名单的条款。我花了很多时间试图理解 xss,非常感谢对此做出一些澄清。谢谢!

最佳答案

白名单,不要黑名单。总会有您不知道的新协议(protocol)(例如,iTunes 将 itms:// 用于其自身目的)。

选择您希望在链接中支持的协议(protocol)(可能是http://https://mailto://、可能还有 ftp://) 并阻止任何以不同协议(protocol)开头的链接。

关于php - 如何使用 PHP 实现 OWASP 规则 5 来缓解 XSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10337687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com