Php 会话数据是可见的;可以吗?
用户能否查看会话中保存的数据?例如,如果一个用户登录到一个网站,并且他的Php 会话数据是可见的;可以吗?,php,security,session,Php,Security,Session,用户能否查看会话中保存的数据?例如,如果一个用户登录到一个网站,并且他的user\u id保存在会话中,那么只要他的id在会话中可用,该用户就会保持登录状态。他能查看会话数据吗?如果他能看,那是不是很糟糕? 对不起,如果我的问题听起来很愚蠢,但我有一个问题,我整天都在努力解决: 我使用的是flash上传程序,当我将数据发送到另一个页面时,flash上传程序会丢失数据,我无法从会话中获取数据,正如我在中所要求的那样。由于发送session\u id并不能解决我的问题,我想把存储在session中的
user\u id
保存在会话中,那么只要他的id在会话中可用,该用户就会保持登录状态。他能查看会话数据吗?如果他能看,那是不是很糟糕?
对不起,如果我的问题听起来很愚蠢,但我有一个问题,我整天都在努力解决:
我使用的是flash上传程序,当我将数据发送到另一个页面时,flash上传程序会丢失数据,我无法从会话中获取数据,正如我在中所要求的那样。由于发送session\u id
并不能解决我的问题,我想把存储在session中的user\u id
和其他数据一起传递,当后端脚本获得user\u id
时,它会再次将其存储在session中,以便用户保持登录状态。
例如,我可以使用javascript(上传语法)发送用户id
:
现在,由于我使用javascript将user\u id
发送到后端脚本,用户可以很容易地看到他的user\u id
正在被传递。我怀疑它是否很不安全?用户能否以某种方式更改用户id并发送(并以其他用户身份登录?)是否可能
另一种可能的方法是传递会话id而不是用户id(我还不能这么做),发送
会话id
比发送用户id
更安全?不,他们无法查看会话中存储的数据
会话ID仅指服务器上的会话数据,因此如果传递会话ID,则存储在会话中的数据是安全的
注意:您不应公开用户id,因为它提供了更改用户id的机会。不,他们无法查看存储在会话中的数据 会话ID仅指服务器上的会话数据,因此如果传递会话ID,则存储在会话中的数据是安全的
注意:您不应公开用户id,因为它提供了更改用户id的机会。您不应发送
用户id
。这将是你的应用程序中一个巨大的安全漏洞,因为用户可以将其更改为入侵其他用户的帐户
您应该发送会话\u id
,然后在服务器端执行此操作:
<?php session_id($_GET['session_id']); ?>
这将启动该会话
是的,在会话中存储数据是安全的
您不应发送
用户id
。这将是你的应用程序中一个巨大的安全漏洞,因为用户可以将其更改为入侵其他用户的帐户
您应该发送会话\u id
,然后在服务器端执行此操作:
<?php session_id($_GET['session_id']); ?>
这将启动该会话
是的,在会话中存储数据是安全的
如果您的用户id在任何方面都是可预测的,那么是的,用户可以查看和更改其用户id,这将使您的网站认为它是另一个用户。然后,他们可以访问他们正在模拟的用户的信息
这可能会严重违反用户安全。如果您的用户id在任何方面都是可预测的,那么是的,用户可以查看和更改其用户id,这将使您的网站认为它是另一个用户。然后,他们可以访问他们正在模拟的用户的信息
这可能会严重违反用户安全。这里的问题不是看到用户ID,而是能够更改它。安全性是相对的,始终取决于您需要达到的级别。例如,只要数据是只读的,泄露信息并不总是不安全的。另一方面,如果知道用户id允许创建新用户或访问现有帐户,那么您将遇到问题。对于您的情况,不要自己开发新的东西,而是更好地理解现有的机制,并使用经验证有效的代码。不要试图让不安全的东西变得安全。这里的问题不是看到用户ID,而是能够更改它。安全性是相对的,始终取决于您需要达到的级别。例如,只要数据是只读的,泄露信息并不总是不安全的。另一方面,如果知道用户id允许创建新用户或访问现有帐户,那么您将遇到问题。对于您的情况,不要自己开发新的东西,而是更好地理解现有的机制,并使用经验证有效的代码。不要试图让不安全的东西变得安全。
<?php session_id($_GET['session_id']); ?>