亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將下載的文件保存到磁盤時的瀏覽器事件

將下載的文件保存到磁盤時的瀏覽器事件

慕工程0101907 2019-10-31 13:11:24
我有敏感文件要下載給用戶,每個用戶只能下載給定文件一次。如果下載失敗,我希望允許重新下載,但不允許其他方式。僅僅依靠在服務器上記錄/處理文件下載請求是不夠的-我需要確定性地知道文件何時完成以及在客戶端是否就位,因為我的許多用戶都在頻繁掉線的環境中工作。最有效的方法是瀏覽器從“另存為...”對話框中暴露出一個“文件已保存”事件,該事件可能會鏈接到下載頁面上的JavaScript函數(該事件可以發回到服務器上)。但是,直覺表明,如果瀏覽器公開了此功能,則可能會存在安全漏洞,因為它會在沙盒外潛入。我不確定這是否有可能。我在該領域中發現 了 其他 幾個問題 ,但是對此問題一無所獲。有任何想法嗎?編輯:我不應該在原始問題中使用“安全性”一詞,對不起觸發紅色鯡魚。編輯2:我的“安全性”措辭誤導了人們,使他們陷入離題的技術安全性問題,但是你們兩個都證實了我的懷疑,即“不,對此沒有瀏覽器支持”。我正在用答案標記第一位評論者,因為他的第一句話符合我的要求。謝謝大家
查看完整描述

3 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

為什么可以“一次下載”文件很重要?一旦下載了文件,就可以將其復制,那么讓一位用戶多次下載文件確實存在安全問題嗎?

如果沒有,您可以這樣做嗎?

  1. 生成唯一的URL以下載給定的文件。(如有必要,請使用GUID進行混淆)

  2. 將該URL與USER INFO(瀏覽器類型,IP地址等)和TIME WINDOW關聯。僅允許從該用戶和在窗口期間進行下載。

  3. 該窗口應足夠長,以使用戶注意到傳輸失敗并重試一次或兩次,但不再重試。

最終結果是:

  1. 您可以合理地確定文件僅由預期的收件人下載。

  2. 您可以確定收件人只能在短時間內下載文件。

  3. 同一用戶可以多次下載文件,但是誰在乎呢?這與對第一個文件進行本地復制沒有什么不同。

如果您真的很擔心,請記錄每個下載請求并為已下載多次的文件運行計劃報告。如果發現有任何問題,則可以檢查安全日志,與用戶交談等。


查看完整回答
反對 回復 2019-10-31
  • 3 回答
  • 0 關注
  • 445 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號