Insecure PHP Programming
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
脆弱性のあるログインフォーム の解説です。ソースコードをまだ見られていない方は、まず、脆弱性のあるログインフォーム をご覧ください。
この脆弱性を取り除くには、 <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> の部分は、以下のようにするのがよいと思います。 <form method="POST" action=""> あるいは、$_SERVER['PHP_SELF'] を htmlspecialchars() でエスケープ処理する方法もあるかと思います。 <form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'); ?>"> また、以下のユーザ名の入力値を表示する部分は、 <input type="text" name="username" value="<?php echo $_POST['username']; ?> 以下のように、htmlspecialchars() でエスケープ処理します。 <input type="text" name="username" value="<?php echo htmlspecialchars($_POST['username'], ENT_QUOTES, 'UTF-8'); ?> htmlspecialchars() でエスケープ処理する場合は、必ず、第2引数に ENT_QUOTES を指定しましょう。デフォルトでは、シングルクオート(')がエスケープされませんので、シングルクオートでインジェクションできるケースでは脆弱性が残る可能性があります。 PR |
カレンダー
カテゴリー
最新記事
(11/21)
(11/13)
(11/13)
(11/09)
(11/06)
最新トラックバック
プロフィール
HN:
Kenji
性別:
非公開
ブログ内検索
|