你们的登录功能一般都是怎么写的?
这样做是不是有些简单?更进一步的做法是怎样的呢?
回复讨论(解决方案)
都这么做的啊!
通过用户查询出数据,然后在对比数据中的密码,其中密码各种加密过!
COOKIES 部分就不行了,你的方式太简单了。应该加密,其中有用户UID和时间IP等标志位!
访问的时候,程序根据COOKIE解密出数据,然后和数据库对比,是不是同一个人登录
可能还要加一些权限验证之类的吧。一般的应用中都会包含权限管理模块吧。那到登陆中去验证权限则是必然的了。具体可以参考一些源码。
我比你高级一点 加个验证码 算吗?
基本做法就??,然後密?可以加密。
我比你高级一点 加个验证码 算吗?
我也是。
最简单的就是验证 用户名和密码 就可以了, 然后可以加上验证码 可以加上不能同时登陆 可以验证是否在后台的黑名单里面
还可以限制用户输入错误用户名或者密码的次数,当错误次数太多了,就给一定的时间不能登录。 其实仔细想想,登录功能上面能加的东西还是很多的。。
要注意sql注入问题,不要用
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
这种方法
而是先查询指定用户名
SELECT pw FROM user WHERE un = 'xxx'
并判断返回结果数量是否大于零
然后再取密码(pw) 判断是否正确
要注意sql注入问题,不要用
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
这种方法
而是先查询指定用户名
SELECT pw FROM user WHERE un = 'xxx'
并判断返回结果数量是否大于零
然后再取密码(pw) 判断是否正确
这样做是正确的,这是基本的登录功能实现方法
看上面感觉都是新人啊,我说点我们做的经验,一般登录后的状态都不采用cookie吧,应该是session,如果cookie紧用了怎么办?是否考虑过,在网络上cookie容易受攻击,当然密码切记不要进行保存。为安全也是会对session.cookie_httponly 进行设置操作的,说到验证码,最人性化是输错一次后进行验证码输入,很多大网站也是这么做的,然后对用户登录失败进行统计,根据需要锁定用户1小时候再操作。
要注意sql注入问题,不要用
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
这种方法
而是先查询指定用户名
SELECT pw FROM user WHERE un = 'xxx'
并判断返回结果数量是否大于零
然后再取密码(pw) 判断是否正确
为什么要这么做呢?不都一样吗?
我比你高级一点 加个验证码 算吗?
再加个记住登录
要注意sql注入问题,不要用
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
这种方法
而是先查询指定用户名
SELECT pw FROM user WHERE un = 'xxx'
并判断返回结果数量是否大于零
然后再取密码(pw) 判断是否正确
为什么要这么做呢?不都一样吗?
变量在接收的时候做好过滤即可 防范设计应该在SQL 之外
我的比你更简单...
基本上都是基于LDAP验证的..
所以只要稍微判断输入,再验证
验证通过,判断数据库是否有这个id的资料,没有,就从LDAP里面获取并写入数据库...有就直接返回相关信息到session...
最简单的就是验证 用户名和密码 就可以了, 然后可以加上验证码 可以加上不能同时登陆 可以验证是否在后台的黑名单里面
还可以限制用户输入错误用户名或者密码的次数,当错误次数太多了,就给一定的时间不能登录。 其实仔细想想,登录功能上面能加的东西还是很多的。。
正解,再密码加密,解密读取