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

时间:2012-04-12 04:03:34

标签: javascript mysql cookies

在网站上将数据从一个页面传输到另一个页面的最佳方法是什么?例如,我已登录此站点并保持登录知道我切换页面的次数,即使我关闭浏览器也是如此。究竟是怎么做到的?我正在考虑使用cookies,但我真的不确定?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

Cookie和会话有两个选项

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

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

如果设置会话变量,除非用户劫持另一个会话cookie,否则用户无法直接更改它。

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

值得注意的是,cookie数据也不安全。它不应该依赖于不应该依赖表单数据的方式(无论客户验证告诉你什么)。

您使用密码的最佳做法是:

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