在网站上的页面之间传输数据

Transferring Data Between Pages on a Website

本文关键字:之间 传输 数据 网站      更新时间:2023-09-26

网站上从一个页面到另一个页面传输数据的最佳方法是什么?例如,我登录到这个网站并保持登录状态,知道我切换页面多少次,即使我关闭浏览器。这究竟是如何完成的?我正在考虑使用饼干,但我真的不确定吗?

谢谢!

有两个选项 Cookie 和 会话

经验法则:不要相信用户输入。Cookie 是用户输入,存储在 cookie 中的会话 ID 是用户输入,http 标头是用户输入 - 这些东西必须对每件可能的事情进行三重检查。另一方面,会话数据存储在您的服务器上,因此如果不存储在/tmp 中,它或多或少是安全的。

会话

授权最流行的设置之一是:会话ID存储在cookie中,其他所有内容(包括密码)都存储在会话中。根据 cookie 中的 id 启动会话后,您应该从会话数据中获取用户 ID,然后检查存储在那里的密码是否仍然有效。

如果您设置了会话变量,则用户无法直接更改它,除非他们劫持了另一个会话 Cookie。

您最需要注意的是共享主机,您的会话数据不安全(通常其他站点可以看到它)。

还值得注意的是,cookie 数据也不安全。不应以与不应依赖表单数据相同的方式依赖它(无论客户端验证告诉您什么)。

使用密码的最佳做法是:

  • 以散列形式将密码存储在数据库中,最好是SHA1(第一选择)或MD5(第二选择);
  • 当您收到用户的密码时,对其进行加密并根据数据库中存储的内容进行检查;
  • 在用户会话中设置登录用户名;
  • 在一段时间后(即使是几天)使cookie过期,而不是让它永远持续下去;和
  • 尽可能使用安全连接(HTTPS 而不是 HTTP)。SSL证书很便宜。

是的,您通常保持登录状态,因为有一个cookie存储您的会话ID。