Php htmlspecialchars或条纹斜杠?

Php htmlspecialchars或条纹斜杠?,php,xss,Php,Xss,我想用PHP阻止对我的网站的XSS攻击 我知道有3个功能基本上可以防止这种攻击,但我不确定应该使用哪一个。我以前见过关于这个问题的其他问题,但我没有得到这个问题的明确答案 我应该使用哪一个,根据您的意见,哪一个是最好的,为什么?它们都不能阻止攻击。 你只能限制伤害 但使用全部或仅使用一个并不是问题,问题在于应用程序设计以及是否有可能修改请求,从而使结果下降到数据库级别 请参阅-这可能会让您了解XSS攻击的复杂性。

我想用PHP阻止对我的网站的XSS攻击

我知道有3个功能基本上可以防止这种攻击,但我不确定应该使用哪一个。我以前见过关于这个问题的其他问题,但我没有得到这个问题的明确答案

我应该使用哪一个,根据您的意见,哪一个是最好的,为什么?它们都不能阻止攻击。 你只能限制伤害

但使用全部或仅使用一个并不是问题,问题在于应用程序设计以及是否有可能修改请求,从而使结果下降到数据库级别


请参阅-这可能会让您了解XSS攻击的复杂性。

htmlentities将在标记之间输出不受信任的数据时提供保护,但在JavaScript事件处理程序中输出时不提供保护

使用此函数的方法如下所示:

echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
看一下OWASP XSS预防备忘单


您看到了哪些问题,答案如何不清楚?也不清楚。有更好的选择@Itasi:作为记录,我认为这是一个非常糟糕的选择。有人说我应该使用HTMLIt实体,有人告诉我使用HTMLPARTARCHS,有人告诉我们使用脱衣舞,我真的不知道哪一个是目前最好的。使用。@驱魔师:所以你问这个问题。然后其他人会告诉你做X(实际上,itachi已经做了)。这是如何改善情况的?听到N+1的意见比听到N的意见好吗?这根本不是真的。如果您要清理请求值(POST/GET)以避免其中包含恶意数据,那么您已经在攻击后,因此没有阻止它,而只是处理攻击本身。您不会清理任何内容,而是在显示之前正确地转义输入。在任何情况下,使用你对“预防”的定义,世界上没有可以“预防”的攻击。我不确定这个定义有多有用,但问题是:我想用PHP阻止对我网站的XSS攻击。我想我们的意思是一样的:攻击是无法预防的。只有你对“预防”的定义——而不是我的定义。但让我们把这个话题放在这里,因为它已经超越了技术,进入了哲学。