Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
Session 有禁用cookie、javascript、HTTP Referer且没有GET/POST的网站会话?_Session_Cookies_Https_Digest - Fatal编程技术网

Session 有禁用cookie、javascript、HTTP Referer且没有GET/POST的网站会话?

Session 有禁用cookie、javascript、HTTP Referer且没有GET/POST的网站会话?,session,cookies,https,digest,Session,Cookies,Https,Digest,我的问题可能很常见;) 我想实现一个网站的用户会话。这项工作的限制如下: 它必须在没有cookies的情况下工作,因为cookies可以被禁用 它必须在GET和/或POST表单变量中不传递会话id(或会话相关id)的情况下工作 它必须在不检查HTTP Referer标头字段的情况下工作,因为该字段可能为空 它必须在没有JavaScript的情况下工作,因为这是可以禁用的 我唯一发现的是使用HTTPS(无论如何,这是一个不错的选择…)和“摘要访问身份验证”。唯一的缺点是MD5被用作散列机制,这

我的问题可能很常见;) 我想实现一个网站的用户会话。这项工作的限制如下:

  • 它必须在没有cookies的情况下工作,因为cookies可以被禁用
  • 它必须在GET和/或POST表单变量中不传递会话id(或会话相关id)的情况下工作
  • 它必须在不检查HTTP Referer标头字段的情况下工作,因为该字段可能为空
  • 它必须在没有JavaScript的情况下工作,因为这是可以禁用的
我唯一发现的是使用HTTPS(无论如何,这是一个不错的选择…)和“摘要访问身份验证”。唯一的缺点是MD5被用作散列机制,这被认为是不安全的

是否有任何方法可以通过应用上述限制来建立不易被劫持的用户会话?摘要访问身份验证解决了这个问题吗?它的缺点是什么

编辑: 我发现了另一种可能有效的方法:如果站点仅为HTTPS,则可以在服务器端获取SSL/TLS会话标识符(例如,如果在服务器端使用perl,则使用mod_perl)并使用该会话id。请注意,用户与一个此类会话id的关联必须单独完成。但仍然使用这种方法,服务器端始终具有有效的安全会话id。 这是否正确?

如本文所述:

最简单和最安全的方法(考虑到我迄今为止收集的信息)似乎是:

  • 该网站仅限HTTPS
  • 会话id是SSL/TLS会话标识符,该id存储在数据库中,可能与用户帐户记录关联,也可能与用户帐户记录无关(用户身份验证使用HTTPS上的正常形式完成)
如果有人有更好的方法,我很乐意阅读。

如本文所述:

最简单和最安全的方法(考虑到我迄今为止收集的信息)似乎是:

  • 该网站仅限HTTPS
  • 会话id是SSL/TLS会话标识符,该id存储在数据库中,可能与用户帐户记录关联,也可能与用户帐户记录无关(用户身份验证使用HTTPS上的正常形式完成)

如果有人有更好的方法,我很乐意阅读。

将删除Javascript标记。您可以在路径中传递会话ID。虽然很容易被劫持,但我并没有明确地排除这一点,而是在我的头脑中排除了。会话id将是URL的一部分,就像它是GET变量的一部分一样。将删除Javascript标记。您可以在路径中传递会话id。虽然很容易被劫持,但我并没有明确地排除这一点,而是在我的头脑中排除了。会话id将是URL的一部分,就像它是GET变量的一部分一样。