2012-03-23 49 views
0

想知道是否可以使用XMLHTTPReq登錄網站並存儲Cookie。具體來說,我在登錄到網站的PHPSessionID之後。使用javascript檢索cookies XMLHTTPReq

然後我想通過這個cookie到另一個請求提交表單。

任何想法如何做到這一點?

乾杯, 尼克

回答

0

您將能夠從document.cookie讓自己的網站的Cookie。在AJAX回調中,使用a library解析值並讀取您要查找的cookie。

當然,如果server設置cookie HttpOnly(它應該做),它不會在document.cookie可用。

在這個蓬,您需要重新評估自己在做什麼:

  • 如果表單指向你的網站,你的服務器腳本都可以訪問到cookie反正。
  • 如果您將用戶的會話ID發送到其他域,爲什麼?這是一個巨大的紅旗,尖叫着安全問題。

如果你登錄到另一個站點,那麼沒有–的same-origin policy阻止你訪問其他網站的Cookie。


編輯:由於這是供自己使用,你可以在你沒有瀏覽器的產地限制,限制的方式做到這一點。一些想法:

  • 你可以做一個Chrome擴展。擴展aren't subject to origin restrictions,開發模式和API幾乎與您在常規網頁上做的相同。
  • 您可以使用Node,它沒有任何限制。您可以從命令行調用腳本,但API與您在網頁中使用的內容略有不同。
  • 使用您選擇的語言和框架POST登錄頁面,獲取響應中的Set-Cookie標題,並使用它將另一個POST中的Cookie標題發送到表單目標。
+0

我想要發送cookie的網站與設置它的網站是一樣的... – 2012-03-24 04:09:23

+0

對不起,您的問題中不清楚。請參閱編輯。 – josh3736 2012-03-24 16:20:53

+0

對不起。 我實際上並不擁有我正在執行此操作的網站,所以我無法訪問它。 我基本上試圖做的是製作一個腳本,將我登錄到第三方網站,然後登錄後,代表我在該網站上提交表單。 – 2012-03-25 23:06:36

0

您只能發送使用XHR跨域請求,如果browser和服務器支持CORS兩者。此外,第三方網站需要允許您的網站發送此類請求並接收其響應。如果不是,則不允許分別發送請求或接收其響應。