2016-11-23 29 views
0

我有一個網絡服務器,它只允許在查詢字符串上傳遞令牌時下載文件。該令牌(基本上是散列)與filepath + remote ip的散列結果進行比較。處理IP簽名的URL並更改IP

這工作完美!但是,由於我的一個項目獲得了更多的公共利益,隱藏的問題已經開始顯現。

人們從API中檢索已簽名的URL。 API負載均衡請求並返回請求IP的有效URL。但是,有些人有一些非常時髦的網絡設置,基本上可以根據請求更改他們的IP地址!例如。一些大學網絡通過負載均衡代理路由所有互聯網。

這是非常成問題的...我一直在想出一個替代方案,但我有點卡住了。我唯一能想出的是一個即將到期的鏈接,而不是IP綁定,但會帶來其他類型的問題。

除了過期的URL以外,我還有哪些選擇?我能做些什麼來繼續使用基於IP的系統?我不能相信代理標題。我需要處理用戶無法直接操作的信息...

我也想過爲IP範圍生成令牌。但它並不理想,只能在IP範圍內解決問題(我已經看到過這種情況)。所以我現在卡住了。

希望瞭解您可能會建議的內容。

+0

您試圖防範的威脅是什麼? –

+0

好問題。基本上共享這些文件的URL。通常一旦通過API請求並獲得批准,您將立即開始下載一個或多個文件。這也是爲什麼過期令牌有問題。由於不知道需要多長時間才能下載內容,而且我想批量發送已簽名的網址。不是一個一個。有時需要下載超過一千個文件的帶寬。只有API認可的用戶才能從分配的負載平衡服務器訪問文件。 –

回答

1

你所追求的是不可能的恐怕。

你基本上想驗證一個用戶(人)沒有..以及驗證用戶。請求中的任何內容都可以由客戶僞造,這意味着只要客戶合作並共享數據,無論您做什麼,都可以讓其他客戶完成相同的請求。客戶端IP只是有點難以在TCP上建立起來,而另一方面,您也會注意到這種變化。

所以沒有加密(=合理安全)的解決方案。

如果你想讓攻擊者和你的客戶端瀏覽器更難一點,你可以試試fingerprintingbrowser。這在很多情況下都很準確,但顯然也可以僞造。它確實提高了試圖分享鏈接的人的一點吧。

+0

謝謝你的想法,不是很奇怪,我不能想出一個解決方案!我會調查你的鏈接並回報:) –