在php Session变量中存储"密码是否正常"?

3 html javascript php mysql security

在会话变量中存储密码是否安全?

例如,使用将采用提交给自己的形式.

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

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

我应该在这里使用商店会话密码来验证用户实际上是用户,并且它是安全的吗?

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

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

谢谢

Nan*_*nds 10

Camran,你要做的是维护php会话的标准方法.实际上,您并未在会话中存储密码,而只是存储此特定用户已登录的信息.$ _SESSION ['pass_ok'] ='1';

在每个页面上你只需要做一个session_start()并检查这个会话是否已经设置为1,如果是,他们会假设他被记录并继续进行,否则重定向到登录页面.

如果有人获得会话ID,那么他们肯定可以访问用户会话.您可以做一些事情来使其更安全.

  • 使用SSl(https),很难嗅探数据并获取会话ID
  • 当用户登录时,在会话中维护客户端ip,对于登录后的每个请求,检查请求是否来自相同的ip
  • 设置短会话超时,以便在空闲一段时间后会话自动超时.