現在的情況
我的公司有很多不同的環境,部署前端代碼來測驗作業/實時資料并不總是那么容易。我們使用擴展程式將從服務器發送的某些腳本替換為本地可用的腳本。這主要是有效的,但有一些限制。
欲望
幾年前,我在另一家公司作業,該公司允許我們在瀏覽器控制臺中運行與擴展程式相同的命令。我沒有看它是如何實作的時間,但我相信它基本上與首先發送到瀏覽器的小型 javascript 包有關,該瀏覽器確定應該交付哪個包以及本地存盤中的值是否為標記為“true”,它將放置指向 localhost 的腳本標簽。如果它是假的,它將改為轉到服務器。
問題
我想在我現在的公司實施這樣的事情,但我很好奇它的安全影響。
uj5u.com熱心網友回復:
只要提供的 JavaScript 包不包含任何敏感資訊,就應該沒問題。
如果提供的包確實包含敏感資訊,那么它們可能值得重構——最好在后端驗證用戶有權接收敏感資訊后才提供敏感資訊,而不是提供給任何發生的人通過前端包管理器請求包。
在考慮安全性時,一個好的經驗法則是讓客戶端能夠讀取客戶端 JavaScript,并根據需要修改和執行它。因此,任何驗證步驟都應該在服務器上完成,而不是在客戶端上。
如果您唯一考慮實施的是
如果本地存盤中的值被標記為“true”,它將放置指向 localhost 的腳本標簽。如果它是假的,它將改為轉到服務器。
那么這很好 - 最糟糕的客戶端可以通過篡改來運行他們自己的 JavaScript(他們已經可以這樣做)。
如果這是為了讓開發人員更容易測驗實時站點,更好的方法可能是將實時生產環境與開發環境完全分開 - 使用虛擬資料設定開發服務器,并且開發人員可以與之互動的限制更少,而客戶端只能看到生產服務器(現在可能不再受益于擁有前端腳本管理器)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/416974.html
標籤:
上一篇:使用jqueryajax洗掉專案
