簡體   English   中英

將兩個用戶帳戶鏈接在一起

[英]Linking two user accounts together

我正在為網站用戶建立一種將他們的帳戶鏈接在一起的方法,以便可以在他們之間共享資源。 到目前為止,我的過程是:

  • 1)用戶輸入要鏈接的用戶的電子郵件地址。
  • 2)如果找到匹配項,這些用戶將收到一封電子郵件。
  • 3)電子郵件包含確認鏈接。 如果收件人單擊此按鈕,將在兩個帳戶之間建立聯系。

我想知道最后一步需要確保的安全性。 我的確認鏈接的格式為: domain.com/link-confirm.php?fromid=xxx&toid=yyy

從理論上講,任何人都可以欺騙此鏈接(如果他們知道目標的用戶ID),從而在未經許可的情況下建立連接。

我嘗試對兩個用戶ID進行哈希處理,然后在用戶數據庫中進行掃描以查找匹配項,但是password_verify函數運行所需的時間太長,導致頁面超時(只有1000個用戶)。

我想知道的是:我的上述計划有意義嗎? 有沒有更整潔的方法? 我是否應該擔心欺騙(連接帳戶本身並不在用戶之間共享任何數據,而只是使任何一個用戶都可以發起)?

謝謝

您可以只對兩個id值進行加密,然后從get中獲取它-對它們進行解密,則此處不需要使用哈希。 那樣的話,有人要用數千年的時間強行欺騙他們。

您可以做的是為每個帳戶鏈接請求生成一些唯一數據,並要求將唯一數據與鏈接接受請求一起發送。

因此,例如,用戶A請求與用戶B鏈接,您將請求存儲有一些唯一數據,例如隨機哈希和時間戳,然后當用戶B單擊電子郵件中的“接受”時,他被發送到服務器上的頁面。 電子郵件中的鏈接包含提交到頁面的唯一數據。 您檢查唯一數據是否確實是用戶A提交請求時生成的數據,如果是,則鏈接用戶。

暫無
暫無

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

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