0
こんにちは私は他人を見ようとしましたが、なぜ私のコードとソリューションに基づいて動作していないのか分かりません。フォームの検証を無効にする(コメントアウトする)と、表示する投稿データを取得できます。しかし、それが残っていると、常にfalseになり、投稿データは表示されません。私は自動これは私がそれのように動作するようになった唯一の方法だったcodeigniterフォームの検証は常に偽です
<?php echo form_open('users/login'); ?> <!-- the action is the controller users and the function register -->
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="my-input-control-100p">
<div class="form-group">
<input type="text" name="username" class="form-control" placeholder="Enter Username" required autofocus>
</div>
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" placeholder="Enter Password" required autofocus>
</div>
<button type="submit" class="btn btn-primary btn-block">Login</button>
<br>
<div class="center_login">
<small><a href="<?php echo site_url("pages/view/register") ?>">Register here</a> </small>
<br>
<br>
<small><a href="<?php echo site_url("pages/view/forgot") ?>">Forgot Password or User Name</a> </small>
</div>
</div>
</div>
<?php echo form_close(); ?>
プレーンテキストのパスワードは、パスワードベリファイアとして保存する必要がありません。ハッシュ関数を使用するだけでパスワードベリファイアを保存するだけでは不十分で、単に塩を追加するだけでセキュリティを向上させることはほとんどありません。代わりに、約100msの間、ランダムな塩でHMACを繰り返し、塩をハッシュで保存します。 'PBKDF2'、' Rfc2898DeriveBytes'、 'password_hash'、' Bcrypt'、 'passlib.hash'などの関数を使うのが良いです。要点は、攻撃者が無差別にパスワードを見つけるのにかなりの時間を費やすようにすることです。 – zaph
ロジックをフリップさせて、ユーザー名とパスワードを印刷することができます($ this-> form_validation-> run()!== false){) – tomcc84
これは、開発者の利便性ではなく、 。パスワードは決してプレーンテキストでサーバーに保存しないでください。 PHPでは['password_hash'](http://php.net/manual/en/function.password-hash.php)と[' password_verify'](http://php.net/manual/en/function。 password-verify.php)、ペアは安全で使いやすいです。 – zaph