2013-10-28 87 views
1

我一直認爲在電子郵件中識別用戶的URL是有風險的。例如,假設我的應用程序是類似eventBrite的。我邀請一組用戶參加即將到來的活動。我爲每個用戶的電子郵件創建獨特的網址,使他們只需點擊電子郵件中的這些網址即可接受或拒絕。也就是說,他們不必通過網站進行身份驗證。在電子郵件鏈接中識別用戶有多安全

如果他們通過網絡郵件在移動設備或公共計算機上查看電子郵件,則單擊鏈接將完全接受/拒絕。

這種方法風險太大嗎?我曾假設你應該避免這種情況,因爲某些東西可能會看到這些網址,並向它們發出會觸發錯誤接受/拒絕的請求。

+0

您的網址將如何顯示?你能舉一個具體的例子嗎? – codegeek

+0

我無法想象它比您可能通過電子郵件發送的任何其他消息更加不安全。另外,大多數黑客並沒有花時間惡意接受EventBrite邀請。 – IllusiveBrian

+1

如果是單一時間限制的請求,這很好,但你不應該做Facebook做的事情,並自動登錄人員。這是一個巨大的安全漏洞。 – Amelia

回答

3

這是一個意見,但我會假設鏈接本身可以比電子郵件實際上更安全。您可以使接受鏈接僅在一段時間內有效(否則無論如何不會有多少意義)。

此外,你可以使它幾乎任意長。所以它基本上是任意猜測的。

這會留下兩個選項來「查看」我想到的鏈接。通過檐口下降從身體上看到它。但是你可以在html表單中生成一個郵件,這將允許你隱藏超文本文本背後的完整鏈接。像Accept/Decline

1

有幾個部分,以這樣的回答:

是否安全?絕對不是。這是通過默默無聞的安全。你打賭有人不能猜測這個鏈接,只要它是一個有限的字符串,那麼他們完全可以並且一旦他們這樣做,他們就可以回覆你的事件。

跟進重要嗎?可能不會。我想象有人試圖欺騙RSVP參加一項賽事的機會非常渺茫。我絕對不會保護任何批評這種方式,但如果你只是做事件RSVP等(沒有錢換手)我沒有看到這種方法有什麼問題。正如luk32所說,你也可以使鏈接在有限的時間內有效等。

真正的問題在這裏(除非有什麼你不告訴我們,這是一個高價值的目標)是多麼可能是有人偶然偶然發現這些鏈接之一,並回復他們不會去的事件?您可以通過以足夠隨機的方式生成鏈接以避免兩個鏈接類似,從而使得這種可能性極小。在這種情況下,我不認爲安全性是數據完整性的重要關注點。也就是說,您收到的數據是否有效。

+0

那麼,每個密碼/密碼都是一個可以猜到的有限字符串。可能比隨機一個更容易。哎呀,大多數現代密碼系統都是根據您提出的「默默無聞的安全」規則創建的,它基於您可以猜出數字來破譯它的事實,並且他們打賭你不會(至少在時間上它是相關的)。 – luk32

+0

@ luk32你是對的,任何有限的字符串都可以被猜出。關鍵是它是否是隨機的。如果它是隨機的,機會很渺茫。但是,如果它的事件名稱,然後一個數字,可能很容易猜到... –

+0

約定四處。我會讓他們超時。另外,如果遵循url並且用戶沒有通過認證,那麼我會在電子郵件中明確說明這一點,我們會向用戶發送一條便條,並且有機會表明他們不是採取此操作的用戶。 –

相關問題