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