2017年3月29日星期三

用户登录页面,后台的登录逻辑判断

经典的实现方式
SELECT count(*) FROM user WHERE name ='".$user."' AND password = '".sha1($password)."'"
SELECT username,pass FROM users WHERE username='$uname' AND password='$passwrd' LIMIT 0,1
SELECT * FROM users WHERE username = '$username' AND password = '$password'
另一种实现方式 先通过用户名去数据库查询相关用户的密码字段,并且检查只有一条,如果有两条以上就应该判断为false。 这可以防止基于约束的sql注入攻击。 查询到密码字段后,与post方法获取到的密码进行比对,这样,就不存在sql注入bypass登录页面的问题了。

参考链接:
1. 防SQL注入攻略
2. 使用php实现简单的登录系统
3. 从万能密码看SQL的逻辑运算符

没有评论:

发表评论