XSSを防ぐために、誤って入力されたものを表示する場合や以前に送信された値でフォームを再ペイントする場合と同様に、ユーザー入力を出力するたびに、htmlをエスケープする必要があります。それは右ではないでしょうhtmlescape/htmlspecialcharsを扱う場合
echo "the name which was supplied as {$_GET['company_name']} is not accepted"
ようなものをやって、...そう
確かなことです。
代わりに、これを実行します。念頭に置いて
echo "the name which was supplied as " . htmlspecialchars($_GET['company_name']) . " is not accepted"
は、ここに私の質問に来る;,あなたは$ _GET [「COMPANY_NAME」]が戻ってから始めたテキストボックスに表示する必要がある場合に何をすればいいですか?多分あなたが長すぎるので、あなたはその会社名を訂正してほしいでしょうか?
あなたははhtmlspecialcharsを使用した場合、およびCOMPANY_NAMEは& T ATと言った場合、&が脱出し、&アンプとして表示されているだろう。ではない?
このような状況にどう対処しますか?もちろん、誰かが言っているかもしれませんが、htmlspecialcharを使わないでください。そのまま返してください。
誰かが私たちにcompany_nameを送るかもしれませんが、それはテキストボックスを止めるためにjavascript onclickを開始し、そこからXSSを行うために慎重に作られています。
これらの状況では、どのようにhtmlescapeを処理しますか? history.go(-1)を使用するだけですか?