私はCodeIgniterでアクティブレコードを使用しています。私はどのアプローチをとるべきか混乱している。現在のところ、私たちのログインシステムでは、ユーザーはパスワードと共にログイン用のユーザー名/電子メールを使用します。しかし、私の現在のアクティブなレコードは、彼が電子メール+パスワードを使用することを選択した場合、ユーザーにログインさせるようです。codeigniterアクティブなレコードwhere、or_where?
今、これは私のクエリです:
$this->db->select('id,level,email,username');
$this->db->where('email',$user);
$this->db->or_where('username',$user);
$this->db->where('password',$pass);
$query = $this->db->get('users');
if($query->num_rows>0)
return TRUE;
else
return FALSE;
サンプル入力:
- ユーザー名:テスト |パスワード:pass |結果:成功
- ユーザー名:テスト |パスワード:空 |結果:は失敗しました
- ユーザー名:[email protected] |パスワード:pass |結果:成功
- ユーザー名:[email protected] |パスワード:空 |結果:成功は
第四テスト入力は結果で失敗しましたでなければならないが、それは、パスワードが空の場合でも、ユーザーがログに記録されているようです。
グレート:これは正しいことを行う方法です!このクイック返信をありがとう。 –
これは、アクティブなレコードの目的を破ってSQL注入のためのアプリを開くことはありませんか? –