|
|
1
9
会话的内容仅在服务器端可见和可修改。 如果您的应用程序或服务器包含某些漏洞,则只能以“未经授权”的方式修改它们。 你也应该注意以下事情 session fixation attacks ,攻击者将特定的会话id强加给毫无戒心的用户,当用户登录并提升该会话的权限时,允许攻击者共享该会话。 缓解这些问题的一种方法是 regenerate the session id 每当您更改会话的特权级别时。
|
|
|
2
4
如果你想避免javascript读取你的cookie和中间人攻击,你需要使用带有https的服务器,并将会话cookie设置为仅通过https传输。
session.cookie_httponly将cookie标记为只能通过HTTP协议访问。这意味着JavaScript等脚本语言无法访问cookie。此设置可以有效地帮助减少通过XSS攻击进行的身份盗用(尽管并非所有浏览器都支持)。 为了更好地保护那些让计算机无人看管几分钟的人的管理员权限,您应该在上次(管理员)登录时设置一个计时器。如果该时间超过x个时间单位,则用户必须再次登录才能使用管理员权限。
|
|
|
3
3
服务器会话 存储在服务器上。如果用户可以直接访问存储会话的目录,则可以更改会话数据。解决这个问题的方法是保护目录。确保你的php代码中没有漏洞,允许用户id由$_POST或$_GET设置。 客户端通过 hijacking someones session_id。这将使劫持者冒充该用户。并代表他们发送请求。 跨站点请求伪造 him 例如,让他点击一个链接。你可以用代币来对抗这一点。令牌是一个生成的字符串,作为隐藏字段放入$_SESSION数组和每个HTML表单中。当用户提交表单时,这些值会相互检查。每次用户请求新页面时,令牌都会发生变化。这样,攻击者必须尝试预测令牌,这很难,具体取决于您如何制作令牌。 这些链接还将显示这些攻击的示例。 |
|
|
4
2
如果你的脚本中没有提供这样的访问权限,那么用户对此无能为力。因此,您的会话数据应该非常安全。用户唯一能做的就是操纵URL中传递的会话cookie或会话id,但他不太可能找到另一个用户的现有会话id。 |
|
|
5
1
除非你在某个地方留下了安全漏洞(例如允许用户以某种方式添加/更改$_SESSION数据)。 |
|
|
6
1
据我所知,没有,除非用户猜测您的会话id并将其替换到他的Cookie中。您应该至少在服务器端添加额外的IP检查来防止这种情况。 |