JavaScript防篡改物件
防篡改是什麼
定義的物件預設在任何時候、任何位置,無論有意義還是無意義的都可以修改物件的屬性和方法。
而這些篡改可能會影響物件的內建屬性或方法,從而導致物件的正常功能可能無法使用。
JavaScript在ECMAScript 5 版本中新增了放置篡改物件的屬性或方法的機制,共提供了以下三級保護方式:
- 禁止擴充套件:禁止為物件擴充套件新的屬性或方法
- 密封物件:禁止擴充套件新的屬性或方法,禁止置現有的屬性或方法的描述符,僅允許讀寫屬性的值。
- 凍結物件:禁止對物件執行任何修改操作。
禁止擴充套件
如果禁止為物件擴充套件新的屬性或方法,需要修改物件屬性的extensible為false。
- Object.preventExtensions()方法用於設定指定物件不可擴充套件,即不能新增屬性或方法。
- Oject.isExtensible()方法判斷一個物件是否是可擴充套件的(是否可以在他上面新增新的屬性。
密封物件
指禁止擴充套件新的屬性或方法,禁止置現有的屬性或方法的描述符
- Object.seat()方法用於封閉一 個物件,阻止新增新屬性井將所有現有屬性標記為不可配置。當前屬性的值只要可寫就可以改變。
- Object.isSealed()方法判斷一 個物件是否被密封。
凍結物件
- Object.freeze()方法用於凍結一 個物件 ,凍結指的是不能向這個物件新增新的屬性,不能修改其已有屬性的值,不能刪除已有屬性,以及不能修改該物件已有屬性的可列舉性、可配置性、可寫性。該方法返回被凍結的物件。
- Object.isErozen()方法判斷一 個物件是否被凍結。
相關文章
- Cookie防篡改機制Cookie
- API的防篡改和防重放機制API
- 網站被篡改了_網站被篡改了怎麼辦_防網站篡改了網站
- Spring Boot介面如何設計防篡改、防重放攻擊Spring Boot
- API介面設計:防引數篡改+防二次請求API
- HTTPS可以預防駭客篡改內容嗎?HTTP
- WEB安全新玩法 [3] 防護交易資料篡改Web
- Javascript 物件 – 字串物件JavaScript物件字串
- 烽火18臺系列之九-防篡改”魔力三角”
- JavaScript 物件JavaScript物件
- JavaScript物件JavaScript物件
- Javascript 物件 – 陣列物件JavaScript物件陣列
- Javascript 物件 – 數學物件JavaScript物件
- JavaScript高階:JavaScript物件導向,JavaScript內建物件,JavaScript BOM,JavaScript封裝JavaScript物件封裝
- Linux 伺服器下如何建立檔案防篡改規則Linux伺服器
- Linux伺服器下如何建立檔案防篡改規則Linux伺服器
- 網站防篡改的方法有哪些?這些技巧不能忘!網站
- JavaScript Array 物件JavaScript物件
- JavaScript物件概述JavaScript物件
- JavaScript Boolean 物件JavaScriptBoolean物件
- JavaScript Object 物件JavaScriptObject物件
- JavaScript arguments 物件JavaScript物件
- JavaScript Global 物件JavaScript物件
- JavaScript document物件JavaScript物件
- JavaScript navigator 物件JavaScript物件
- JavaScript history 物件JavaScript物件
- JavaScript location 物件JavaScript物件
- JavaScript Date 物件JavaScript物件
- JavaScript 物件 & 原型JavaScript物件原型
- JavaScript URL 物件JavaScript物件
- JavaScript RegExp物件JavaScript物件
- JavaScript Function物件JavaScriptFunction物件
- JavaScript Symbol物件JavaScriptSymbol物件
- JavaScript Set物件JavaScript物件
- JavaScript window物件JavaScript物件
- JavaScript Promise物件JavaScriptPromise物件
- JavaScript Array物件JavaScript物件
- JavaScript物件5JavaScript物件