2011-11-29 51 views
0

我正在構建一個Web應用程序,允許用戶將消息發送給其他用戶。在發送消息頁面上,我目前在URL中有接收者的用戶標識,因此應用程序知道發送消息的位置,即example.com/send-message/user-id/1。用戶標識是用於識別數據庫中接收方的主鍵通過在Web應用程序中使用哈希用戶標識防止垃圾郵件發送者

我擔心垃圾郵件發送者可能會轉到此頁面,並且只是不斷更改網站中的用戶標識和網站上的垃圾郵件人員。

我想出的解決方案是製作一個長唯一的ID(123154123412)。該號碼將被存儲在用戶數據庫行中,並將被用來代替發送消息頁面上的主鍵,以便垃圾郵件發送者不能通過更改ID來輕易地發送大量垃圾郵件。

這種方法有什麼潛在的問題,我可能看過嗎?

如果我要在整個網站中使用唯一的ID,它會顯着降低網站的速度。換句話說,使用主鍵搜索數據庫比生成的唯一ID更快。

感謝

回答

1

你可以做的另一件事是,當他們在很短的時間發送太多短信阻止會話或IP地址臨時(如郵件和每15分鐘最多5個消息之間1分鐘)。

-1

我會說這通常是一個糟糕的想法,允許人們任意傳達一個網站上的其他成員(除非這是我想的網站的重點)。您可能會阻止自動垃圾郵件機器人,但有很多人願意付錢給實際的人員去手動發送郵件。首先,您應該只允許登錄會員向其他人以某種方式「接受」該成員發送消息 - 朋友,允許來自消息等。

至於使用長的UID,只要你有正確的數據庫設置,當你生成它時唯一的性能可能是「點擊」,但如果你使用它來代替主鍵ID,它不會降低你的網站的速度。

0

這種方法絕對沒用。

只要您的網站的用戶允許向其他用戶發送消息,垃圾郵件發送者就會使用您創建的任何ID。

唯一的方法是限制每小時收件人和/或郵件的數量。

相關問題