ホームページ > php教程 > php手册 > PHPコードの単純化が不十分

PHPコードの単純化が不十分

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:19:16
オリジナル
950 人が閲覧しました

コードをコピー コードは次のとおりです:


<
echo("

クエリの検索結果: ").
$_GET['query'].".

";
?>


このコードの主な問題は、データが表示されることです。ユーザーが Web ページに直接送信すると、XSS 脆弱性が発生します。実はこの穴を埋める方法はたくさんあります。では、どのようなコードが必要なのでしょうか?

コードをコピー コードは次のとおりです:



echo("

検索結果クエリの場合: ").
htmlspecialchars($_GET['query']).".

";
?>



これは最低要件。 XSS の脆弱性は htmlspecialchars 関数によって埋められ、不正な文字がブロックされました。

コードをコピー コードは次のとおりです:


if(isset($_GET['クエリ'] ))
echo'

クエリの検索結果:',
htmlspecialchars($_GET['query'],ENT_QUOTES).'.

'; >

私が採用したいのは、このようなコードを書ける人材であるはずです:
**$_GET['query'] の値が空かどうかを出力前に確認してください。
*echo コマンド内の冗長な括弧は削除されました。
* 文字列は一重引用符で修飾されるため、文字列から置換可能な変数を検索する PHP の時間が節約されます。
* エコー時間を節約するには、ピリオドの代わりにカンマを使用します。
* ENT_QUOTES フラグを htmlspecialchars 関数に渡して、一重引用符もエスケープされるようにします。これは最も重要なことではありませんが、良い習慣でもあります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート