編輯
你的其他意見建議你不是真的知道什麼餅乾字面上,所以我提前道歉,如果你已經明白我做一下解釋。
雖然我懷疑你需要回答或解決您的實際關注一些具體的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