编辑
你的其他意见建议你不是真的知道什么饼干字面上,所以我提前道歉,如果你已经明白我做一下解释。
虽然我怀疑你需要回答或解决您的实际关注一些具体的Facebook的帮助,我想指出什么饼干居然是:
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT
http://en.wikipedia.org/wiki/HTTP_cookie#Setting_a_cookie
这是怎么了cookie在客户端和服务器(请求者/响应者)之间传输。您可以使用Firebug或Chrome控制台中的Net选项卡来查看请求的发送方式以及来回发送的数据。它们本质上并非“系统地记录”,本身不是有限的“事物”,而只是包含在请求和响应的分组中的报头的一部分,类似于电子邮件报头中的CC/BCC字段:伪 - 但是具有描述性。
要达到的效果在使用之前验证Cookie是必需的,您需要确定如何将参考ID附加到cookie,或者(或者)检测具有必须存在的计算代码的特定cookie其他数据在请求中提交。在Jan's answer中描述了另一种方法。
但是,Cookie通常不以这种方式处理。它们只是传输,意味着结束,填充GET和POST之间的空白。
你不是“无效饼干”这么多无效该cookie的数据扩展不管是谁在请求一起使用它的权限。
一,你怎么知道它来自不同的服务器?二,如果你可以确定一个请求是不合法的,无论该cookie的数据在你的服务器上引用了什么,以便它允许代表一个用户执行动作,都需要被删除,即无论会话是否被终止/销毁,或者其他什么其他。
但是,Cookie只是该数据的传输方式。您必须能够拦截,检测并阻止提供给它的任何访问权限,以使其“无用”。
如果您要提供某些具体内容,请提供更多信息。但基本上,您似乎只需要有一种方法可以忽略包含您认定为无效或真实的数据或提供不正当访问(对冒名顶替者)的数据的Cookie。
你是什么意思,“从另一台服务器的回调带有用户ID”? – Gumbo 2012-02-12 08:47:20
您并不是“使cookie无效”,而是使cookie的数据无限延伸到与请求一起使用的权限。一,你怎么知道它来自不同的服务器?二,如果你可以确定一个请求是不合法的,那么无论该cookie的数据在你的服务器上引用了什么,以便允许它代表某个用户执行操作,也就是说,无论会话被指示,还是其他任何内容。但是,Cookie只是该数据的传输方式。 – 2012-02-12 08:51:15
@JaredFarrish该请求只能从Facebook服务器接受。问题是Facebook SDK使用cookie来获取有关用户的一些数据(用户ID,[..])。现在,系统设计逻辑是这样的:如果FB PHP-SDK告诉我存在当前的用户ID,这意味着该用户被认证 - >继续检查用户是否在DB中。如果没有,请获取有关用户的信息。这是抛出异常的地方,因为实际上应用程序不再有权访问这些信息。所以我需要想出一种方法来删除PHP-SDK用来存储这些信息的cookie。 – Gajus 2012-02-12 08:58:12