zoukankan      html  css  js  c++  java
  • 网站同一用户只能在同一个地方登录

    思路一:

    需要一个session id,与用户信息绑定。

    比如3L的说法,在users表内加一个sessionId字段,在用户访问时将cookies里面的sessionId与数据表里的sessionId比较下,不同就是非法访问,这时候踢下线就是把sessionId置空。

    也可以单独创建一个 sessions 表,在里面记录用户ID与对应的session id ,登陆时查询下记录——这样的好处是支持多个地方同时登录同一个用户。T下线的方法是删除sessions表里对应的session id或用户ID。

    php session_id()用法代码举例如下:

    <?php
      session_start();
      echo session_id();
      // 输出 08nr1fav9jqs2pdi5qlpsmd247
    ?>
    

    设置 session_id()详细代码:

    <?php
      session_id("www.169it.com");
      session_start();
      echo session_id();
      // 输出 www.169it.com
    ?>
    

    实例代码:

    https://blog.csdn.net/qq_28761593/article/details/60960068?utm_source=blogxgwz0

    思路二:

    登录成功后,用户表中记录last_login_time 为当前时间,并写到session中。后台判断登录状态的时候,需要从数据库中读取最近一次登录时间,加入到判断条件中,即每次判断都要读一次。假设当前帐号A1为登录状态,如果此帐号A2在异地登录,必然会刷新last_login_time这个字段,那么当前账号A1在判断登录状态的时候,就会存在last_login_time这个字段的值与session个中记录的值不一致的情况。

    思路三:

    登入時記錄登入時間與登入ip,根據ip判斷地點。
    如果登入地點與上次登入地點不同,且兩次登入時間在一定時間內,則通過站內信息系統提示上一次登入的用戶,被下線。

  • 相关阅读:
    border-image
    实现页面变成灰色色调
    ie 浏览器“浏览器模式”和“文档模式”之间的区别
    vue-loader
    vue-cli创建的项目中使用sass
    v-html
    vue $forceUpdate 强制更新
    webpack-dev-server 不是内部命令
    vue devtools 以及热更新
    事件机制
  • 原文地址:https://www.cnblogs.com/haima/p/9796611.html
Copyright © 2011-2022 走看看