好的,我没有得到任何回应我原来的罗嗦单词......
你可以在设置cookie之前执行脚本,还是绝对是第一件事?
你可以用$ _POST或$ _GET
设置cookie,并且它是否实用如果不切实际......或者安全......如果不使用SSL,我该怎样做才能确保我的cookie安全设置(至少比我尝试的方法更安全)
我很感激帮助。
马特
答案 0 :(得分:5)
设置cookie不一定是脚本的开头 - 它必须在您实际输出任何HTML(或重定向之类的http标头)之前发生。
是的,与$ _POST和$ _GET一起阅读和设置cookie非常实用。您使用PHP中的setcookie
函数设置cookie,并从$ _COOKIE中读取它们。
在安全性方面,您只需要考虑一些事情。例如,用户可以查看和修改cookie中包含的内容。网络上游的任何人都可能会这样做。关键是不要将数据存储在应该是“安全”的cookie中。
答案 1 :(得分:0)
在Firefox中使用类似Firebug的工具,查看“网络”选项卡,然后展开每个请求的详细信息部分,以查看请求和响应标头。这可以帮助您更好地掌握主题。
Cookie只是在发送实际网站之前在响应标头中发送的任意文本值。他们告诉浏览器将它们保存在某处并将它们发送回请求标头中的原始域以用于每个后续请求。
这意味着,它们可以与任何响应头一起发送。 POST是一种请求类型,因此与设置cookie无关。浏览器可以将POST与POST请求一起发送到服务器。
您可以在设置Cookie之前执行任何脚本。 但是,因为需要在标题中发送Cookie,所以在开始输出网页后就无法发送它们。
在响应标头中只有一种设置cookie的方法。设置cookie的唯一安全方法是通过SSL发送带有secure
标志的方式,这仅表示不应通过非SSL连接将cookie发送回服务器。而已。因此,请仔细考虑将哪些信息放入cookie中。
会话可以解决这个问题。会话只是将无意义的令牌作为cookie发送,并使用它来检索存储在服务器上的数据。