使用php会话实现用户登录,php session 会话使用案例

2c3c67b045f3fda83e563c1f03427268.png

1、session基本操作

2、浏览器禁用 cookie 解决方法

当服务端与客户端通信后会生成会话后,会建立一个和浏览器的唯一会话PHPSESSID。这个id会在服务端保存,也会用cookie形式保存在客户端中。

禁用cookie后session不能把唯一id通过cookie方式在客户端中进行存储,这时候php会在浏览器地址栏中以url明文get的方式来传递phpsessionid,来进行客户端和服务端的唯一识别通信。

这样一来程序的安全性大大降低了。所有在php.ini默认是关闭通过地址栏传递phpsessionid的,如果没开启就不能使用session,所以需要php.ini配置支持才行。

session.use_only_cookies = 1; // 开启仅使用cookies存放会话idsession.use_trans_sid = 1; // 允许Sessionid通过URL明文传输,默认为0关闭

或可以使用代码实现:

if (!function_exists('session_create_id')) {function session_create_id(){return uniqid();}// 获取SESSION_ID$session_id = isset($_GET['SESSION_ID']) ? $_GET['SESSION_ID'] : session_create_id();// 设置 SESSION_IDsession_id($session_id);// 输出 session_idecho $session_id;

3、浏览计数器

利用 session 可以记录用户的访问页面的次数,代码如下:

c8e2d17333244f4176f0c72533373ede.png

4、使用 session 实现登录功能

Session 是存储在服务器端的,远程用户没办法修改 Session 文件的内容,因此我们可以单纯存储一个 $admin 变量来判断是否登陆,首次验证通过后设置 $admin 值为 true,以后判断该值是否为 true,假如不是,转入登陆界面,这样就可以减少很多数据库操作了。

而且可以减少每次为了验证 Cookie 而传递密码的不安全性了(Session 验证只需要传递一次,假如你没有使用 SSL 安全协议的话)。即使密码进行了 md5 加密,也是很容易被截获的。

下面是一个简单的用户登录示例:

首先自定义一个用户的用户名和密码保存在 session 中,第一次登录时将 form 表单提交的用户名和密码和 session 中的用户名和密码比较,若用户名和密码相同,则保存一个用户已登录的 session 值;若不相同,则登录失败。之后用户再次登录时,只需判断是否存在用户已登录的 session 值即可,若存在,则用户已登录;若不存在,则用户还没有登录过。

0f462ea1a350c4aa85af3d0f8a36ec75.png

8e8110b7922337fc259eac2e20a30ea0.png

PHP Session 会话基础知识介绍

CURL数据传输神器,PHP怎么使用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值