爲了保護我的SPA,我需要一種方法來禁用所有的JS斷點。JavaScript,禁用斷點
目前,我仍然可以使用Chrome開發工具添加運行時斷點並更改我的對象的變量值。不在控制檯中,但在運行時。
如果攻擊者能夠更改應用程序對象的屬性值,我的應用程序將受到危害。
你有什麼建議來防止這種行爲嗎?
最好是在我的JS插入:
console.ignoreBreakPoints();
爲了保護我的SPA,我需要一種方法來禁用所有的JS斷點。JavaScript,禁用斷點
目前,我仍然可以使用Chrome開發工具添加運行時斷點並更改我的對象的變量值。不在控制檯中,但在運行時。
如果攻擊者能夠更改應用程序對象的屬性值,我的應用程序將受到危害。
你有什麼建議來防止這種行爲嗎?
最好是在我的JS插入:
console.ignoreBreakPoints();
作爲一項實際措施,可以儘量做到通過涅槃或以其他方式發送之前混淆你的JavaScript通過您的代碼看起來較爲困難它給客戶端。但是您不能依靠任何客戶端行爲來保護您的網站。所有的安全檢查都必須重新檢查服務器端。
即使有一種方法來指示Chrome不讓人家做開發工具的東西(有沒有),用戶可以仍然他們的計算機上的其他各種tools變化值在瀏覽器中。或者他們可以編譯他們自己的瀏覽器自定義版本。或者他們可以簡單地發送你的服務器壞信息,根本不運行你的客戶端代碼。
作弊引擎可能能夠找到一些變量地址,但在我的測試過程中無法修改任何值。 – Maxime 2014-10-29 13:06:14
@Maxime:那只是一個例子。我的觀點是,它總是可以破解依賴於客戶端行爲的應用程序。您必須製作您的應用程序,以便僅通過更改客戶端值或代碼就不會危及其安全。 – StriplingWarrior 2014-10-29 16:29:23
我相信調試器對於開發人員和黑客來說非常棒。開發人員應該意識到調試器的危險(運行時變量編輯)。這樣,這將是保護JS應用程序的一大步。 – Maxime 2014-10-29 13:05:13