だから私がやろうとしているのは、HTML カラーコード形式で、ユーザーが背景色を選択できるようにすることです。
次に、指定した背景色をページに使用するようにカスタムします。しかし、ちょっとした問題で困っています。HTML 特殊文字を選択したカラー コード形式にすることはできません。HTML がそれを読み取らないためです。しかし、このため、彼らが私のサイトを XSS できるようにしたくありません。これを修正するにはどうすればよいですか? これを回避するにはどうすればよいですか?
ユーザーが HEX コードを選択できる場合は、返される入力が有効な 16 進値であるかどうかを確認する必要があります。
そのため、長さが 6 文字かどうか、およびすべての文字が有効な 16 進数 (0-f) であるかどうかを確認する必要があります。これを行うにはctype_xdigitを使用できます。他のすべての入力値は拒否する必要があり、デフォルトの 16 進数値を背景色としてカラーリング関数に渡すことができます。
入力データを検証できるのに、なぜhtmlの特殊文字が必要なのかわかりません。
編集: はい、6 文字の XSS に対して脆弱になる可能性があります。ここでは長さは問題ではありません。