私たちのウェブサイトのウォークアップ作成アカウントページを作成しています。私は常に2つのパスワードが一致していても、ユーザがフォームを提出した後に、パラノイアから入力されたtype = "password"のデフォルト値= ""をクリアしました。デザイナーが私に尋ねた後、私はこのことを考え始めました。私は確かに、提出後にパスワードを値フィールドにエコーすることができます。もしそれらが妥当性検証の失敗ではない場合、このアプローチに関連する脆弱性はありますか?この特定のページでは、デフォルトでhttpsに設定されています。私はあなたが非マスク入力にecho'ingされているような入力の種類を変更するhtml書き換えを行うことができますが、それはユーザーにのみローカルに影響を与える可能性があるように思えます。妥当性検査の失敗後に以前のサブミットの値を入力タイプ「パスワード」に設定
例形式:提出オン
<input type="text" name="username" value="<?php echo $username; ?>">
<input type="password" name="password1" value="">
<input type="password" name="password2" value="">
、ユーザ名は適切な電子メールのように見えるかどうかを確認し、パスワードが一致、およびパスワードは、私たちの最低限の要件を破りました。電子メールが怒りますが、パスワードがなければ、私は追加することができます...
<input type="password" name="password1" value="<?php echo $password1; ?>">
<input type="password" name="password2" value="<?php echo $password2; ?>">
...と心配ですか?そして、いいえ、私はレジスタのグローバルを使用していません。私は手動で$ _POSTからそれらを引き出し、まずサニタイズを行います。
ジョシュ
パスワードが実際に検証されると、私はsha1 + saltを使用します。だから、主な抑止力は誰かが特にこのアカウントを作成するページにある間、コンピュータへの物理的なアクセスですか? – Josh