在网站上的页面之间传输数据
Transferring Data Between Pages on a Website
在
网站上从一个页面到另一个页面传输数据的最佳方法是什么?例如,我登录到这个网站并保持登录状态,知道我切换页面多少次,即使我关闭浏览器。这究竟是如何完成的?我正在考虑使用饼干,但我真的不确定吗?
谢谢!
有两个选项 Cookie 和 会话
经验法则:不要相信用户输入。Cookie 是用户输入,存储在 cookie 中的会话 ID 是用户输入,http 标头是用户输入 - 这些东西必须对每件可能的事情进行三重检查。另一方面,会话数据存储在您的服务器上,因此如果不存储在/tmp 中,它或多或少是安全的。
会话授权最流行的设置之一是:会话ID存储在cookie中,其他所有内容(包括密码)都存储在会话中。根据 cookie 中的 id 启动会话后,您应该从会话数据中获取用户 ID,然后检查存储在那里的密码是否仍然有效。
如果您设置了会话变量,则用户无法直接更改它,除非他们劫持了另一个会话 Cookie。
您最需要注意的是共享主机,您的会话数据不安全(通常其他站点可以看到它)。
还值得注意的是,cookie 数据也不安全。不应以与不应依赖表单数据相同的方式依赖它(无论客户端验证告诉您什么)。
使用密码的最佳做法是:
- 以散列形式将密码存储在数据库中,最好是SHA1(第一选择)或MD5(第二选择);
- 当您收到用户的密码时,对其进行加密并根据数据库中存储的内容进行检查;
- 在用户会话中设置登录用户名;
- 在一段时间后(即使是几天)使cookie过期,而不是让它永远持续下去;和
- 尽可能使用安全连接(HTTPS 而不是 HTTP)。SSL证书很便宜。
是的,您通常保持登录状态,因为有一个cookie存储您的会话ID。
相关文章:
- 如何使用WebRTC在两个浏览器之间传输文件
- 在两个组件之间传输状态
- 是否可以在由春季网络流驱动的html页面之间传输数据
- 通过 HTTP 在两个节点.js服务器之间传输文件
- 如何在两个Liferay输入编辑器之间传输html
- 数组值在 2 个函数之间传输
- javascript如何使用在网站之间传输信息
- 使用 WebRTC 在浏览器之间传输 JSON
- 使用服务在 Angular 中不同应用程序的控制器之间传输数据
- 在网站上的页面之间传输数据
- PhoneGap(网络移动应用程序)-在页面之间传输数据
- PubSub模式用于在两个解耦的javascript模块之间传输数据
- 如何使用端口在main.js和面板之间传输消息'的内容脚本
- 在Java后端和javascript前端之间传输数据
- 在不同域的用户脚本之间传输数据
- 如何在网站之间传输javascript数据
- 在cgi和Javascript/Jquery之间传输数据
- 如何在HTML页面之间传输值
- 如何使用jQuery将文本附加到列表之间传输的项目
- Gmail api &Admin SDK用于在同一组织的gmail帐户之间传输电子邮件