首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确保登录会话的安全

如何确保登录会话的安全
EN

Stack Overflow用户
提问于 2016-11-10 01:28:03
回答 1查看 1.5K关注 0票数 2

我只是想到了一些关于确保治疗的事情,这让我很困扰。有人能帮我解决这个问题吗?

好吧,让我解释一下我是怎么想的。(别担心,我会马上讲到重点的)

代码语言:javascript
复制
<?php

if(!isset($_SESSION['login'])) {
  $_SESSION['login'] = false;
}

?>

因此,最基本的是,无论$_SESSION['login']将永远存在。挺干净的?也许吧。

好吧,假设你想要一个用户登录。(离重点更近)

代码语言:javascript
复制
<?php

if($_SESSION['login'] === false)
{

  if(isset($_POST['login-form']))
  {
    // execute login code . . .

    // if the user had logged in successfully
    if($success === true)
    {
      echo "Successfully logged in.";
      $_SESSION['login'] = true;
      $_SESSION['username'] = $_POST['username'];
      // remember, I just wrote up an example,
      // and everything would be filtered and sanitized
      // if this were production code
    }
  }
}

?>

好吧,另一件事是如何设置这件事。(快到了)

代码语言:javascript
复制
<?php

if($_SESSION['login'] === true)
{
  // get database user information where username is $_SESSION['username'].
  // also, the database table: users, would have unique usernames,
  // they can't be the same.
}

?>

好吧,你看到我的想法了。但是,如果有人将$_SESSION['login']编辑为true会发生什么情况呢?然后他们将$_SESSION['username']更改为他们想要的用户名?这意味着有人可以黑他们想要的任何帐户。如果他们正在构建一个存储用户密码和重要数据的应用程序,那么没有人希望这样做。

所以问题是,我怎样才能防止这种情况发生?因为您可以通过进入developer-tools(chrome)并进入控制台并使用javascript更改cookie/会话。

我要不要再做一张表格,再核对一遍?但这就是重点,所以如果你们中的一个能帮我解决这个问题,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-10 01:31:39

用户在浏览器中拥有的会话的唯一部分是cookie中的会话ID。句号。

用户无法在本地查看或编辑会话数据,这些数据都存储在服务器上。

现代PHP的会话生成也相当可靠,使得外部实体很难猜测有效的会话ID,如果您使用SSL,在当今时代,您几乎不可能在传输过程中盗取会话cookie。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40518675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档