php5 $ _SESSION安全性

时间:2015-10-18 14:43:18

标签: security

我阅读了有关stackoverflow的会话和安全问题,以及更多内容。我想我知道答案,但我想用一个简洁的简单问题来证实 - 安全性太重要了。

猜想:我的黑帽网页访问者无法直接访问他的$ _SESSION内容。

即我的服务器执行后

  $_SESSION['myuserprivilege']='user' ;

我可以假设即使是最聪明的黑帽也无法以某种方式发现我的代码就是这样做了,询问我的php程序将他的服务器设置为$ _SESSION(密钥和内容),或者(更糟糕的是)工程师{{ 1}}。只有我自己的服务器php代码才能这样做。

我仍然需要担心黑帽可以窃取不同管理员用户的cookie(=> https和会话轮换)。但那是一个不同的问题。

正确?

1 个答案:

答案 0 :(得分:1)

会话的值存储在您的服务器中,而不是存储在用户计算机中。所以,没有......没有人可以在没有访问您的服务器或代码中的任何安全问题的情况下看到或设置该值。这就像保险箱中的钱,只有有权使用的人才可以获得,或者保险箱不够安全。

关于cookie窃取,这称为会话劫持。这是常见的tecnique,用于从其他用户窃取会话。您可以获得更多信息here

基本上,如果一个人获得了已记录管理员会话的ID,并且该应用程序没有任何方法可以避免这种情况,则此人可以访问该用户权限。

任何人都可以在你的网站上设置一个cookie,但会话有一个叫做“PHP会话ID”的东西,所以为了从会话中获得一些价值,这个人需要知道一个有效的会话ID,该会话ID对应用程序的某些部分有特权

会话路由不是问题,从拥有此权限的任何人那里获得某个会话的机会真的非常非常困难。您还可以在会话中使用更多字符以使其更难,但o认为没有必要。

最终答案:没有人无法在我们的网站上设置会话,只有谁有权访问代码而您的服务器可以执行此操作。