Php 我是否容易受到6个字符的XSS攻击

Php 我是否容易受到6个字符的XSS攻击,php,xss,Php,Xss,因此,我一直在尝试让用户能够选择HTML颜色代码格式的背景色 然后我将自定义他们的页面使用他们指定的背景色。但我有一个小问题。我不能用HTML特殊字符来表示他们选择的颜色代码格式,因为这样HTML就无法读取它。但我不想让他们因为这个而对我的网站进行XSS。我该怎么做才能解决这个问题?我应该如何解决这个问题?如果用户可以选择十六进制代码,则必须检查返回的输入是否为有效的十六进制值 因此,您必须检查它是否有6个字符的长度,以及是否所有字符都是有效的十六进制数字(0-f)。你可以这样做。必须拒绝所有其

因此,我一直在尝试让用户能够选择HTML颜色代码格式的背景色


然后我将自定义他们的页面使用他们指定的背景色。但我有一个小问题。我不能用HTML特殊字符来表示他们选择的颜色代码格式,因为这样HTML就无法读取它。但我不想让他们因为这个而对我的网站进行XSS。我该怎么做才能解决这个问题?我应该如何解决这个问题?

如果用户可以选择十六进制代码,则必须检查返回的输入是否为有效的十六进制值

因此,您必须检查它是否有6个字符的长度,以及是否所有字符都是有效的十六进制数字(0-f)。你可以这样做。必须拒绝所有其他输入值,然后可以将默认十六进制值作为背景色传递给着色函数

我不明白如果你能验证你的输入数据,为什么你需要html特殊字符

编辑:是的,您可能会受到带有6个字符的XSS的攻击。长度在这里并不重要。

看看这个:我不能用HTML特殊字符来表示他们选择的颜色代码格式,因为这样HTML就不会读取它。在HTML或CSS中,无法表示使用PHP的
htmlspecialchars()
函数修改的任何字符的颜色,因此这似乎不太可能。