2011-03-15 47 views
2

我的工作具有類似功能的書籤解決方案的Instapaper(書籤功能,是不是網站功能)發送。用戶登錄會話腳本時,從外部站點

對於我的第一個小書籤版本,我將用戶發送到mysite.com/add.php?url=[url],然後在後端做了我想做的事情(在數據庫中添加了url等)因爲用戶自從之前登錄到我的網站(會話通過Cookie保持活動狀態)。用戶然後不得不按下後退按鈕返回到原始網站。這按預期工作。

現在我希望讓用戶留在原址(作爲Instapaper的書籤一樣),而我做的背景後臺的東西,因此:
- 小書籤現在追加一個JavaScript函數到原始網站
- JavaScript的使用形式,並提交網址網址mysite.com/add.php作爲變量(add.php不變)
- 從add.php我輸出狀態成的一部開拓創新的網站出現的iframe

到目前爲止是這種情況,該URL發送到add.php,而用戶仍然在原址,狀態,印在我臨時存款保險計劃的iframe在原始網站上播放。

然而,從腳本點的用戶將不再出現進行登錄,即使他/她是在mysite.com直接訪問。我正在使用此登錄系統(http://www.evolt.org/node/60384)。

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

感謝

回答

0

是餅乾居然被髮送到add.php文件?你有沒有和任何形式的開發工具或審判'的var_dump($ _ COOKIE)「檢查?

什麼瀏覽器你測試它?

把我的頭從什麼給頂的,我猜這是瀏覽器的執行作爲一種安全預防措施 - 否則任何網站可能包含一個iFrame,並通過JavaScript啓動不知情的情況下進行一些其他網站的行爲,你

環顧四周,我發現this potential workaround是專指IE7 ,但我不知道它是否與您的問題有關,因爲我不知道這是否只是針對您的IE問題。

+0

今天晚些時候我會查看cookies。我只是測試了不同的瀏覽器,結果表明它可以在IE8中運行,但在Chrome 10或Firefox 3.6中無法運行。 – bengt 2011-03-16 14:24:36

0

因爲我得到這個工作在IE,但不是在Firefox或Chrome,我在它的由於瀏覽器的安全防範措施,而且我不會得到它僅使用PHP會議工作結束傾斜。

我因此想出了一個替代解決方案是什麼我想要實現,我想通過你跑。

請評論:

1)當在我的網站用戶註冊,我爲該用戶創建一個隨機的唯一的靜態標識(RUSI)(即不是用戶名或散列密碼)
2)我將此RUSI附加到小書籤代碼(這意味着小書籤只能在用戶登錄到我的網站時添加)
3)當用戶按下小書籤時,我的腳本檢查RUSI對應的用戶名,並檢查用戶名是否在我的active_user表中(包括所有登錄的用戶)
4)如果用戶名存在於active_user表中,那麼書籤小組會執行它應該做的事情,否則我打印「請登錄」或類似。

如上所述,請對此解決方案發表評論,因爲我很難弄清楚這是一種好還是壞的方法。顯而易見的缺點是當用戶發現其他用戶RUSI時,只要他/她已登錄,就可以代表他/她執行腳本。

謝謝。