2012-07-30 22 views
0

我正在開發一個網站,該網站利用來自外部網站的信息並將其呈現在一個整潔的圖表中。網站中的嵌入式登錄頁面

問題是,用戶將不得不登錄到該網站才能看到信息(即喜歡登錄到Facebook)。

我試圖開發類似的東西嵌入外部網站的登錄頁面到我的網站,然後讓用戶登錄這種方式(見下文)

<object data=http://www.website.com width="600" height="400"> <embed id="test" src=http://www.website.com width="600" height="400"> </embed> Error: Embedded data could not be displayed. </object> 

我的問題是你怎麼樣能夠知道用戶是否已登錄?在嵌入式窗口中,我可以登錄並查看該頁面,但我的網站並不知道我已經登錄。是否有方法主動檢查嵌入式頁面的URL以查看是否已更改(即您已登錄)?

我試過只刷新頁面,但嵌入對象的源代碼鏈接是相同的。

感謝

+0

您是否知道在用戶登錄時是否設置了cookie? http://www.quirksmode.org/js/cookies.html – 2012-07-30 19:27:48

回答

0

出於安全/技術方面的原因,你不能直接獲取用戶是否已在其他一些網頁登錄,除非有一個API,其中大多數社交媒體網站都有。如果你擁有這個頁面,你也可以創建一個頁面。

否則,如果您有足夠的流量可用,您還可以通過提交給您的服務器的表單申請登錄數據,然後執行一些操作,讓服務器登錄到其他網站並檢索您想要的信息。然而,這在高負荷環境下(許多用戶)不可行的,因爲多種原因:

  • 服務器將不得不註銷並經常登錄,這將佔用大量的性能

  • 這也會導致很多流量,因爲我不知道如何檢索一次登錄信息,而不是請求某個網頁並解析它

  • 最後,由於所有來自相同的IP在短時間窗口內,任何網站的服務器最終都會拒絕你訪問因爲你一直在用請求發送垃圾郵件。

  • 當然,您可以使用一個用戶登錄後隱藏的iframe(您可以檢測它何時重新加載並通過display:none隱藏它),然後解析其內容,但我懷疑它會作爲出於安全原因限制對iframe內容的訪問。