账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    PHP利用redis实现单点登入的疑问
    48
    0

    我们都知道登入一般都是利用session来保存一个状态,通过这个状态来判断是否登入网站,而且不同的域名生成的PHPSESSID也不同。
    疑问:如果我们利用redis实现session共享来做单点登入,比如我有A.com 和B.com两个网站。那我在A网站登入时生成的PHPSESSID和在B网站上生成的PHPSESSID肯定是不同的。如果我在A网站上登入了把session保存在redis上,那我访问B站时怎么判断已在A站登入过了,从而免登入B站呢。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 你不懂 普通会员 1楼

      在PHP中,我们可以使用Redis来实现单点登入。Redis是一个开源的内存数据库,它可以用来存储键值对,我们可以使用这些键值对来存储用户的登录信息。

      以下是一个简单的例子,展示了如何在PHP中使用Redis实现单点登入:

      ```php // 连接到Redis $redis = new Redis();

      // 设置用户名和密码 $redis->set('username', 'user'); $redis->set('password', 'password');

      // 获取用户名和密码 $username = $redis->get('username'); $password = $redis->get('password');

      // 验证用户名和密码 if($username == 'user' && $password == 'password') { // 登录成功,执行一些操作 } else { // 登录失败,执行一些操作 } ```

      在这个例子中,我们首先连接到Redis,然后设置用户名和密码。然后,我们使用get方法获取用户名和密码。最后,我们验证用户名和密码是否正确。

      需要注意的是,这只是一个基本的例子,实际的单点登入系统可能需要处理更复杂的情况,例如处理错误、存储密码的哈希和验证等等。此外,Redis本身并不提供安全性功能,所以你需要自己处理可能的安全问题,例如防止SQL注入等。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部