10

请问,我把用户 id 保存到 session,调用时有什么安全问题吗?

 3 years ago
source link: https://www.v2ex.com/t/797690
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
请问,我把用户 id 保存到 session,调用时有什么安全问题吗?

V2EX  ›  PHP

请问,我把用户 id 保存到 session,调用时有什么安全问题吗?

  wfdaj · 23 小时 15 分钟前 · 825 次点击

如题,session 里保存了 用户 id,用户名和邮箱,在显示用户信息的视图页面,经常这样调用:

<?php if (!empty($_SESSION['userId']) && ($_SESSION['userId'] === $this->user['uid'])) { ?>

这会有什么安全问题吗?

如果有,在视图页面,我应该如何安全的读取用户信息呢?感谢!

6 条回复    2021-08-25 09:42:02 +08:00

Xusually

Xusually   22 小时 53 分钟前   ❤️ 1

session 是保存在服务器端的,具体是存在磁盘上还是别的比如 memcache 之类的是看你 php 的环境配置:
https://www.php.net/manual/zh/session.configuration.php#ini.session.save-handler

简单来说,一般情况下,服务端会在 session 开始的时候,给客户端浏览器种一个 cookie,标记 session id,以后请求的时候,带着这个 session id 过来,服务端会把这个 session id 对应的 session 的信息都保存下来。
本身 session 就是为了在服务端临时保存用户信息,交易信息什么的,你这么使用没什么安全问题。

当然如果你客户端的 cookie 被偷了,那什么都不安全了。

murmur

murmur   21 小时 40 分钟前

没问题的,jwt 就是类似的机制,但是必须保证 uid 是加密或者可信可验证的,比如改了 uid 整个 token 解密校验不过

murmur

murmur   21 小时 39 分钟前

看错了,我以为是 cookies 中的 session 字符串

kaneg

kaneg   15 小时 21 分钟前

user id 这种不敏感的信息存在 session 是正常的做法。

Rache1

Rache1   3 小时 21 分钟前

后面这个 $_SESSION['userId'] === $this->user['uid'] ,你这个 $this->user 是凭空来的吗?

关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2814 人在线   最高记录 5497   ·  

创意工作者们的社区

World is powered by solitude

VERSION: 3.9.8.5 · 17ms · UTC 05:03 · PVG 13:03 · LAX 22:03 · JFK 01:03
♥ Do have faith in what you're doing.


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK