你们的登录功能一般都是怎么写的?

克莱登大学校长 2014-07-02 09:42:09
我知道的做法是通过用户名查询密码,如果对的上就登陆成功,之后用cookie保存用户ID和用户名。
这样做是不是有些简单?更进一步的做法是怎样的呢?
...全文
429 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
艾派德迷你2 2014-07-05
  • 打赏
  • 举报
回复
我的比你更简单... 基本上都是基于LDAP验证的.. 所以只要稍微判断输入,再验证 验证通过,判断数据库是否有这个id的资料,没有,就从LDAP里面获取并写入数据库...有就直接返回相关信息到session...
黄袍披身 2014-07-05
  • 打赏
  • 举报
回复
引用 10 楼 u010313768 的回复:
[quote=引用 8 楼 fengkuangfashi38 的回复:] 要注意sql注入问题,不要用
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
这种方法 而是先查询指定用户名
SELECT pw FROM user WHERE un = 'xxx' 
并判断返回结果数量是否大于零 然后再取密码(pw) 判断是否正确
为什么要这么做呢?不都一样吗?[/quote] 变量在接收的时候做好过滤即可 防范设计应该在SQL 之外
t_z_x__ 2014-07-05
  • 打赏
  • 举报
回复
引用 7 楼 BingoVictor 的回复:
最简单的就是验证 用户名和密码 就可以了, 然后可以加上验证码 可以加上不能同时登陆 可以验证是否在后台的黑名单里面 还可以限制用户输入错误用户名或者密码的次数,当错误次数太多了,就给一定的时间不能登录。 其实仔细想想,登录功能上面能加的东西还是很多的。。
正解,再密码加密,解密读取
Phil-Pan 2014-07-04
  • 打赏
  • 举报
回复
引用 3 楼 PhpNewnew 的回复:
我比你高级一点 加个验证码 算吗?
再加个记住登录
small-dragon 2014-07-04
  • 打赏
  • 举报
回复
引用 8 楼 fengkuangfashi38 的回复:
要注意sql注入问题,不要用
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
这种方法 而是先查询指定用户名
SELECT pw FROM user WHERE un = 'xxx' 
并判断返回结果数量是否大于零 然后再取密码(pw) 判断是否正确
为什么要这么做呢?不都一样吗?
xiaomiaode 2014-07-03
  • 打赏
  • 举报
回复
引用 8 楼 fengkuangfashi38 的回复:
要注意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小时候再操作。
断点Bingo 2014-07-02
  • 打赏
  • 举报
回复
最简单的就是验证 用户名和密码 就可以了, 然后可以加上验证码 可以加上不能同时登陆 可以验证是否在后台的黑名单里面 还可以限制用户输入错误用户名或者密码的次数,当错误次数太多了,就给一定的时间不能登录。 其实仔细想想,登录功能上面能加的东西还是很多的。。
碼上道 2014-07-02
  • 打赏
  • 举报
回复
猪崽儿0o0 2014-07-02
  • 打赏
  • 举报
回复
引用 3 楼 PhpNewnew 的回复:
我比你高级一点 加个验证码 算吗?
我也是。
傲雪星枫 2014-07-02
  • 打赏
  • 举报
回复
基本做法就這樣,然後密碼可以加密。
黄袍披身 2014-07-02
  • 打赏
  • 举报
回复
我比你高级一点 加个验证码 算吗?
zhu_terry 2014-07-02
  • 打赏
  • 举报
回复
可能还要加一些权限验证之类的吧。一般的应用中都会包含权限管理模块吧。那到登陆中去验证权限则是必然的了。具体可以参考一些源码。
风.foxwho 2014-07-02
  • 打赏
  • 举报
回复
都这么做的啊! 通过用户查询出数据,然后在对比数据中的密码,其中密码各种加密过! COOKIES 部分就不行了,你的方式太简单了。应该加密,其中有用户UID和时间IP等标志位! 访问的时候,程序根据COOKIE解密出数据,然后和数据库对比,是不是同一个人登录

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧