私は唯一のユーザーになる小さなウェブサイトを構築しています(私の資格情報はパスワード「mypassword」の「myuser」です)。ログインページで私はこの簡単な形式を持っています:PHP - セキュリティのためにこのシンプルなフォームを検証する必要がありますか?
<form method="post">
<p>Username: <input type="text" name="usr"></p>
<p>Password: <input type="text" name="passwd"></p>
<p><input type="submit" value="Login"></p>
</form>
このような形式を検証するのは安全ですか?
// After checking if the request is POST...
if($_POST["usr"]=="myuser"&&$_POST["passwd"]=="mypassword") {
// Set the cookie and go to admin page...
} else {
// Show login error...
}
それとも私は2つの$ _POST変数(例えばはhtmlspecialcharsまたはそのような何かでそれらをフィルタリングすることにより)に、いくつかのセキュリティ対策を適用する必要がありますか?ご覧のように、資格情報はデータベースに保存されず、これらの変数はコード内の他の場所で決して呼び出されないため、悪意のあるユーザーがSQLインジェクションまたはXSSでフォームをハックしようとしても危険はありません。
だから私は何かを逃したのですか?そのようなコードを残すことに潜在的な危険はありますか?
これは間違いないと言っている戦闘家がいるだろうが、それは問題ない。 –
ただし、ssl暗号化(https)を使用するように注意してください。 – arkascha
*私はそのウェブサイトがオンラインではないことを意味する唯一のユーザー*になりますか? –