Heim  >  Artikel  >  Backend-Entwicklung  >  你们的登录功能一般都是如何写的

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

WBOY
WBOYOriginal
2016-06-13 12:01:291166Durchsuche

你们的登录功能一般都是怎么写的?
我知道的做法是通过用户名查询密码,如果对的上就登陆成功,之后用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...
------解决方案--------------------
引用:
最简单的就是验证 用户名和密码 就可以了, 然后可以加上验证码  可以加上不能同时登陆  可以验证是否在后台的黑名单里面  
还可以限制用户输入错误用户名或者密码的次数,当错误次数太多了,就给一定的时间不能登录。 其实仔细想想,登录功能上面能加的东西还是很多的。。

正解,再密码加密,解密读取
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn