簡體   English   中英

如何檢查來自用戶收件箱的網頁請求

[英]How to check a web page request came from user inbox

我有一個簡單的問題。 如果有人能回答我,我非常感謝。 我有一個 Web 應用程序,它向訂閱者發送下載鏈接。 訂閱者可以從他們的收件箱中點擊鏈接並獲得下載 pdf 文檔的權限。 這很好,但我想要的是僅當僅從他的收件箱單擊鏈接時才允許訪問 pdf 文檔。 我的意思是,如果訂閱者將此電子郵件轉發給其他人或嘗試手動將鏈接粘貼到瀏覽器中,則它應該不起作用。 提前致謝。

您想要的是不可能的。

考慮這種情況:您通過電子郵件發送某人@ example.com。 他們可以通過以下方式查看電子郵件:

a)桌面郵件客戶端
b)智能手機/平板電腦郵件客戶端
c)網絡郵件

這三者對您的服務器的顯示將完全不同,具體取決於他們在哪個客戶端單擊了您的鏈接。如果用戶將電子郵件轉發給其他人(例如otherperson@example.com ,則該人的鏈接完全相同郵件文件,他們可以通過完全相同的選項進行查看。

也許能夠從中提取是指一個用戶名或某些其他個人身份數據, 如果他們使用網絡郵件和網絡郵件系統是愚蠢到有webmail.example.com/readmail?userid=someone

但是否則,不能,您不能假設有關傳入點擊的任何信息,只能假設有人單擊了某些電子郵件中的鏈接。

無法判斷是從電子郵件客戶端打開鏈接還是將其粘貼到地址欄中。 無法跟蹤是否轉發了電子郵件(大多數電子郵件客戶端阻止了HTML格式電子郵件中的webbug圖像)。

如果要限制誰可以從您的服務器下載文件,則要求用戶登錄,然后希望他們之間沒有人參與密碼共享。

即使那樣也不會阻止他們直接重新分發文件。

真正不可能“保護”鏈接。

但是,如果您的Web應用程序要求用戶登錄,則可以為每個用戶生成一個唯一的鏈接,並要求他登錄后才允許下載。

人們將比簡單的網址更不願意共享其登錄名/密碼。

我知道這是一個老問題,我不確定為什么它被否決了,但我想到了一個想法。 如果您在電子郵件中放置一個通用像素跟蹤器,並帶有標識用戶和電子郵件版本的令牌,當請求時,您的服務器會記錄電子郵件被打開和閱讀(以及連續閱讀)的時間。 然后,如果用戶單擊電子郵件中的鏈接,鏈接上的標記會標識同一用戶和電子郵件版本。 當服務器收到此請求時,它可以將其與上次訪問匹配跟蹤像素的時間進行比較。 如果在請求鏈接前幾分鍾內訪問了像素,則意味着打開了電子郵件,然后單擊了鏈接。

如果用戶簿標記了該鏈接並在第二天使用它,則不會有最近的跟蹤像素歷史記錄,這意味着該請求不是來自收件箱。

這很容易被欺騙,因此不應將其用於任何類型的安全問題。 您不會知道該電子郵件是否已轉發給其他人。 他們的電子郵件客戶端也會命中跟蹤像素。

許多電子郵件客戶端會因為不斷增加的隱私問題而阻止像素跟蹤,因此它不可靠。

如果您只是在尋找使用情況的指示,這可能會奏效。

暫無
暫無

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

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