簡體   English   中英

從外部站點發送腳本時的用戶登錄會話

[英]User login session when script sent from external site

我正在研究一種書簽解決方案,其功能與Instapaper類似(書簽功能不是網站功能)。

對於我的第一個Booklet版本,我將用戶發送到mysite.com/add.php?url=[url],然后只要用戶是我,它就會在后端執行我想做的事情(向數據庫添加url等)。從此登錄到我的網站(會話使用cookie保持活動狀態)。 然后,用戶必須按下“后退”按鈕才能返回到原始站點。 這按預期工作。

現在,當我在后台執行后端操作時,我想讓用戶保留在原始站點上(就像instapaper小書簽一樣),因此:
-小書簽現在將javascript函數附加到原始站點
-JavaScript使用表格並將URL用作變量將URL提交到mysite.com/add.php(add.php不變)
-我將add.php的狀態輸出到出現在原始網站上的iframe中

到目前為止,該方法一直有效,因此將URL發送到add.php,而用戶仍保留在原始站點上,並且狀態顯示在臨時顯示在原始站點上的iframe中。

但是,從腳本角度來看,即使直接訪問mysite.com時,用戶也似乎不再登錄。 我正在使用此登錄系統(http://www.evolt.org/node/60384)。

你能為我指出正確的方向嗎? 讓我知道您是否需要更多信息。

謝謝

cookie是否實際發送到add.php文件? 您是否檢查過任何開發工具或嘗試過“ var_dump($ _ COOKIE)”?

您在哪些瀏覽器中對其進行了測試?

從給出的內容來看,我想不到的是,這是為了安全起見,這是瀏覽器的工作-否則任何網站都可以包含iFrame,並通過JavaScript在您不知情的情況下像在其他網站上一樣開始執行操作。

環顧四周,我確實找到了專門針對IE7的潛在解決方法 ,但是我不知道它是否與您的問題有關,因為我不知道這是否僅是您的IE問題。

由於我可以在IE中使用此功能,而不能在Firefox或Chrome中使用它,因此我得出的結論是,這是由於瀏覽器的安全預防措施所致,而僅使用php會話就無法使其正常工作。

因此,對於要實現的目標,我想出一個替代解決方案,由您來解決。

請評論:

1)當用戶在我的網站上注冊時,我會為該用戶創建一個隨機的唯一靜態標識符(RUSI)(即,不是用戶名或散列的pwd)
2)我將此RUSI附加到小書簽代碼(這意味着小書簽只能在用戶登錄到我的網站時添加)
3)當用戶按下書簽時,我的腳本檢查RUSI對應的用戶名,並檢查該用戶名是否在我的active_user表中(由所有登錄的用戶組成)
4)如果用戶名存在於active_user表中,則小書簽會執行其應做的操作,否則我將打印“請登錄”或類似信息。

如前所述,請對此解決方案發表評論,因為我很難弄清楚這是好方法還是壞方法。 明顯的缺點當然是,只要發現其他用戶RUSI,他/她就可以以他/她的名義執行腳本。

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM