コードをコピーします コードは次のとおりです:
echo("
クエリの検索結果:")
$_GET['query'].".
?>
このコードの主な問題は、ユーザーが送信したデータを Web ページに直接表示するため、XSS 脆弱性が生じることです。実はこの穴を埋める方法はたくさんあります。では、どのようなコードが必要なのでしょうか?
コードをコピーします コードは次のとおりです:
echo("
クエリの検索結果:")
htmlspecialchars($_GET['query'])。 p>";
?>
これは最小要件です。 XSS の脆弱性は htmlspecialchars 関数によって埋められ、不正な文字がブロックされました。
コードをコピー コードは次のとおりです:
if(isset($_GET['query']))
echo'
クエリの検索結果:',
htmlspecialchars($ _GET['query'],ENT_QUOTES).'.
'
そのようなコードを書ける人こそ私が雇いたい人です:
**出力する前に$_GET['query']の値が空かどうかを確認してください。
*echo コマンド内の余分な括弧は削除されました。
* 文字列は一重引用符で修飾されるため、文字列から置換可能な変数を検索する際の PHP 時間が節約されます。
* エコー時間を節約するには、ピリオドの代わりにカンマを使用します。
* ENT_QUOTES フラグを htmlspecialchars 関数に渡して、一重引用符もエスケープされるようにします。これは最も重要なことではありませんが、良い習慣でもあります。
上記は、php コードの内容を含めて簡略化した php コードを紹介しています。PHP チュートリアルに興味のある友人の参考になれば幸いです。