2011-11-13 81 views
0

因此,我一直在努力以一種簡單易用的方式讓用戶訪問私人頁面而不要求他們填寫登錄名/密碼錶單。無需登錄即可訪問私人頁面

我現在想使用的是爲每個私人頁面生成uniqueid(使用php uniqid函數),然後將URI發送給用戶。他會以「www.mywebsite.com/private_page/13ffa2c4a」訪問他的私人頁面。我認爲這是相對安全和用戶友好的,而不要求太多的信息。我想也許當用戶訪問這個頁面時,它會要求確認它的電子郵件,但最好的是沒有任何意義。

這真的很安全嗎?我的意思是沒有網絡銀行安全,但足以進行簡單訪問?你認爲有更好的解決方案嗎?謝謝。 :)

+0

「安全通過默默無聞」是_永遠不是一個好主意(因爲它的_任何一種安全)。它非常容易通過暴力破解找到有效頁面。 – KingCrunch

+0

但是,我可以再次向用戶發送代碼,並告訴他在我的網站上輸入該代碼。難道它不是一回事嗎?這就是現在一些網站所做的事情,不是嗎?我的意思是,難道沒有辦法像我們使用密碼一樣避免暴力破解嗎? – dccarmo

+0

我想如果你想讓這些頁面真正成爲私人的,那麼你需要請求某種認證。正如KingCrunch所說的那樣,這僅僅是一種默默無聞的「安全」,並不實際。另外,如果您想要詢問用戶代碼或電子郵件地址,那麼爲什麼不使用登錄表單?假設將會收到這些URL的用戶在您的網站上註冊。 –

回答

1

如果您的網站是數據驅動的,您可以創建一個獨特的關鍵詞,並將其傳遞給用戶。當用戶回來時,他們會碰到一個數據綁定模板頁面,該頁面將會去查找該鍵值,如果找到了鍵值,則將頁面元素重新賦值給它們。一旦使用了該密鑰,您就可以將其禁用或將其從系統中刪除,以便模板頁面無法重新呈現相同的數據兩次,因爲它無法再找到該密鑰。您可能還想確保不會緩存該頁面或將任何內容放入會話中(儘可能少地公開)。

這不是一個很好的解決方案,但也許能夠與強迫某人登錄到某物一起工作。

祝你好運,並希望這有助於一些。

+0

這實際上是一個好主意!我會研究它,謝謝! :) – dccarmo

1

這根本不安全。如果你創建了一個密碼字段,你仍然可以強制它(如果你沒有在認證過程中實現延遲),但至少它的值不會被存儲在瀏覽器歷史記錄中。

+0

是的,你說得對。我忘了那個副作用(瀏覽器歷史)。 – dccarmo