Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话数据是可见的;可以吗?_Php_Security_Session - Fatal编程技术网

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']); ?>