>  기사  >  백엔드 개발  >  你们的登录功能一般都是如何写的

你们的登录功能一般都是如何写的

WBOY
WBOY원래의
2016-06-13 12:01:291202검색

你们的登录功能一般都是怎么写的?
我知道的做法是通过用户名查询密码,如果对的上就登陆成功,之后用cookie保存用户ID和用户名。
这样做是不是有些简单?更进一步的做法是怎样的呢?
------解决方案--------------------
都这么做的啊!
通过用户查询出数据,然后在对比数据中的密码,其中密码各种加密过!

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小时候再操作。
------解决方案--------------------
引用:
Quote: 引用:

要注意sql注入问题,不要用 
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
 
这种方法
而是先查询指定用户名
SELECT pw FROM user WHERE un = 'xxx' 
 
并判断返回结果数量是否大于零
然后再取密码(pw)  判断是否正确


为什么要这么做呢?不都一样吗?


变量在接收的时候做好过滤即可  防范设计应该在SQL 之外 
------解决方案--------------------
我的比你更简单...
基本上都是基于LDAP验证的..
所以只要稍微判断输入,再验证
验证通过,判断数据库是否有这个id的资料,没有,就从LDAP里面获取并写入数据库...有就直接返回相关信息到session...
------解决方案--------------------
引用:
最简单的就是验证 用户名和密码 就可以了, 然后可以加上验证码  可以加上不能同时登陆  可以验证是否在后台的黑名单里面  
还可以限制用户输入错误用户名或者密码的次数,当错误次数太多了,就给一定的时间不能登录。 其实仔细想想,登录功能上面能加的东西还是很多的。。

正解,再密码加密,解密读取
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.