Javascript PHP应用程序中只允许字母数字用户输入是否可以防止XSS攻击?

Javascript PHP应用程序中只允许字母数字用户输入是否可以防止XSS攻击?,javascript,php,security,Javascript,Php,Security,我开发了一个PHP应用程序,只允许字母数字字符作为用户输入。是否可以防止XSS攻击。我将JavaScript用于用户输入字段,该字段不允许字母和数字以外的字符。XSS预防行为的更改取决于上下文 HTML上下文 对于HTML上下文,仅编码 属性上下文 属性定义始终使用双引号 对属性上下文编码双引号就足够了 Javascript上下文 这对处理所有情况都有点困难。但是您需要使用双四分位来定义变量 var foo=“用户输入” 编码双四分之一,将是足够的javascript上下文。JS很容易被绕过,

我开发了一个PHP应用程序,只允许字母数字字符作为用户输入。是否可以防止XSS攻击。我将JavaScript用于用户输入字段,该字段不允许字母和数字以外的字符。

XSS预防行为的更改取决于上下文

HTML上下文 对于HTML上下文,仅编码<和>

属性上下文 属性定义始终使用双引号

对属性上下文编码双引号就足够了

Javascript上下文 这对处理所有情况都有点困难。但是您需要使用双四分位来定义变量

var foo=“用户输入”


编码双四分之一,<和>将是足够的javascript上下文。

JS很容易被绕过,您需要在后端进行这种清理“我只允许字母数字字符作为用户输入”-如果没有确凿的理由限制这样的用户输入,但您唯一的理由是它可能“更安全”在任何方面,你都是在错误地对待它。