2013-04-17 20 views
0

我想確認一些一些代碼,我寫的是安全的,我想確保我走上防止「黑客」的步驟(改變JS變量)工作。我聽說從客戶端更改JavaScript變量是可能的,我從來沒有學會如何去做。更改JavaScript的變量客戶端在Firebug或Chrome開發者

我正在使用knockout.js表。項目可以從我的數據庫中添加。當用戶提交表單時,我將數據發送到一個PHP頁面,然後檢查所有輸入,以確保它們與存儲在我的數據庫中的常量一樣有效並保持不變。如果它們沒有被更改,則數據將被提交到數據庫中。

我只想親自嘗試一下。我如何使用Chrome開發人員或Firefox來嘗試更改JavaScript變量?

回答

2

使用F12打開開發人員工具。單擊控制檯選項卡。從那裏你可以訪問全局(窗口)範圍內的所有內容。 Chrome會爲您提供代碼完成功能,以便您可以探索對象。只需鍵入JS代碼,就可以設置屬性的值並調用任何範圍內的任何方法。

例如打開此頁面上的控制檯並鍵入StackExchange.,Chrome會向您顯示JS對象及其所有屬性和方法。

基本上砍你的應用程序有人會看HTTP請求您的應用程序發送到服務器,然後用自己的價值觀重建他們。他們可能可以通過JS控制檯來做到這一點,或者他們可以使用其他工具如curl或Fiddler。

+0

我在這裏試過了stackoverflow並能夠訪問StackExchange,但我似乎無法訪問我的頁面中的任何變量。 knockout.js是否會以某種方式更改名稱,還是有另一種方法可以訪問它們?我在控制檯中鍵入了幾個字母,並通過自動完成列表搜索,我的變量都沒有在那裏。 – user1443519

+0

也許是因爲它們處於封閉狀態,無法通過全球範圍訪問。你可以發佈一些代碼或把它放在jsFiddle? –

+0

我發現[this](http://robertnyman.com/2008/10/09/explaining-javascript-scope-and-closures/)在關閉時發佈。如果它們處於關閉狀態,甚至可以修改它們嗎? – user1443519

相關問題