2012-04-12 59 views
0

在网站上的页面间传输数据的最佳方式是什么?例如,我登录到这个网站,并保持登录知道多少次我切换页面,即使我关闭浏览器。这到底如何?我想通过使用cookies,但我的“M真的不知道?在网站上的页面之间传输数据

谢谢!

回答

1

有两个选项Cookie和会话

经验法则:不信任用户输入Cookie是用户输入,cookie中存储的会话ID是用户输入,http头是用户输入 - 这些事情必须三重检查另一方面,会话数据存储在您的服务器上,所以如果不是存储器,它或多或少是安全的编辑在/ tmp中。

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

如果设置了会话变量,用户不能直接更改它,除非他们劫持了另一个会话cookie。

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

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

你最好使用口令的做法是:

  • 储存于散列形式,优选SHA1(首选)或MD5(第二选择)数据库中的密码;
  • 当您收到用户密码时,请对其进行加密并根据存储在数据库中的内容进行检查;
  • 在用户会话中设置登录用户名;
  • 在某段时间(即使是它的日子)之后终止cookie,而不是永久持续;和
  • 如果可能,请使用安全连接(HTTPS不是HTTP)。 SSL证书很便宜。
+0

我想我明白了。所以我会: - >让用户登录。 - >他们登录时将他们的用户名存储在会话中。 - >将会话存储在一个过期的cookie中。 - >正如我从页面到页面一样,访问cookie和会话以获取用户信息。 – NSchulze 2012-04-12 04:20:29

1

是的,你保持登录状态一般,因为是存储您的会话ID的cookie。