-2
私は自分のウェブページの1つで、次のようなHTML構文で動作するPHPページを提供しています。クロスサイトスクリプトはPHPフォームでは動作しません
<form name="form" action="test.php" method="get">
私は
<form name="form" action="<?php echo htmlspecialchars('test.php') ?>" method="get">
にこれを変更したが、それでも私はアドレスバーに次のURLを入力すると、それがブラウザに出力
http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E
は
http://www.example.com/test.php/"><script>alert('hacked')</script>
あります間違っています。またはクロスサイトスクリプティング。私は間違っているmをガイドしてください。
あなたは、クロスサイトスクリプティングの概要とその動作を完全に誤解しています。 'htmlspecialchars( 'test.php')'を実行する理由はありません。 – ceejayoz
XSSを防ぐには、URLからの入力を検証する必要があります。あなたのページが静的で、そこから変数を受け入れない場合は、何も検証する必要はありません。あなたのPHPコードでやっていることは、 'http://www.example.com/test.php/%22%3E%3Cscript%3Ealert( 'hacked')%3C/script%3E'を入力することとは関係ありません。ブラウザのアドレスバー。ブラウザとサーバは別個のエンティティであり、ブラウザはその内容を解釈します。 – scrappedcola
'action =" "' - そこに。 –