php - 将 "password is ok"存储在 php session 变量中?

标签 php javascript mysql html security

将密码存储在 session 变量中是否安全?

例如,用法将采用提交给自身的表单。

例如更改分类页面,用户首先输入密码,然后如果 pass=ok,显示更改分类的表单。全部在同一个 php 页面上。

但是每当在php页面的“更改”部分上传图片时,表单必须再次提交给自己。

我是否应该在这里使用商店 session 密码来验证用户是否确实是用户,并且它是安全的?

换句话说,存储这样的东西安全吗:

 if($pass==$row['password']){ // If password was correct
    $_SESSION['pass_ok']='1';
 }

谢谢

最佳答案

Camran,您尝试做的是维护 php session 的标准方法。您实际上并没有将密码存储在 session 中,而只是存储了该特定用户已经登录的信息。 $_SESSION['pass_ok']='1';

在每个页面上,您只需要执行一个 session_start() 并检查此 session 是否已设置为 1,如果是,他们假设他已登录并继续,否则重定向到登录页面。

如果有人掌握了 session ID,那么他们肯定可以访问用户 session 。您可以采取一些措施来提高安全性。

  • 使用 SSl (https),​​这将很难嗅探数据并获取您的 session ID
  • 在用户登录时维护 session 中的客户端ip,对于登录后的每个请求,检查请求是否来自同一个ip
  • 设置一个较短的 session 超时时间,这样如果闲置一段时间, session 会自动超时。

关于php - 将 "password is ok"存储在 php session 变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3952687/

相关文章:

php - 如何修改 mysql_pconnect 函数以对查询进行计数

javascript - 无法使用带有 ui-router AngularJS View 的不同 Controller

MySQL 查询页面修订

javascript - Array.prototype.filter() 的就地替代方法是什么

mysql - Rails App [3.2.14] 似乎连接到了错误的数据库? [mysql]

MySQL通过将不同表中的单元格相乘得到结果

php - undefined index $myusername 和 $mypassword?

php - strtotime 使用日期输入

java - Web开发中的文件名: What shall one use as an word-separator in complex file names?

javascript - 如何使用 CKEditor 从 HTML 获取 RTF?