js如何实现防篡改对象
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍了js如何实现防篡改对象,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。防篡改对象Javascript中任何对象都可以被
千家信息网最后更新 2024年11月14日js如何实现防篡改对象
这篇文章主要介绍了js如何实现防篡改对象,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
防篡改对象
Javascript中任何对象都可以被同一环境中运行的代码修改,所以开发人员有时候需要定义防篡改对象(tamper-proof object) 来保护自己
不可扩展对象
默认情况下所有对象都是可以扩展的(添加属性和方法)
let person = { name: 'addone' };person.age = 20;
第二行为person
对象扩展了age
属性,当然你可以阻止这一行为,使用Object.preventExtensions()
let person = { name: 'addone' };Object.preventExtensions(person);person.age = 20;person.age // undefined
你还可以用Object.isExtensible()
来判断对象是不是可扩展的
let person = { name: 'addone' };Object.isExtensible(person); // trueObject.preventExtensions(person);Object.isExtensible(person); // false
请记住这是不可扩展!!,即不能添加属性或方法
密封的对象
密封对象不可扩展,且不能删除属性和方法
let person = { name: 'addone' };Object.seal(person);person.age = 20;delete person.name;person.age // undefinedperson.name // addone
相对的也有Object.isSealed()
来判断是否密封
let person = { name: 'addone' };Object.isExtensible(person); // trueObject.isSealed(person); // falseObject.seal(person);Object.isExtensible(person); // falseObject.isSealed(person); // true
冻结的对象
这是最严格的防篡改级别,冻结的对象即不可扩展,又密封,且不能修改
let person = { name: 'addone' };Object.freeze(person);person.age = 20;delete person.name;person.name = 'addtwo'person.age // undefinedperson.name // addone
同样也有Object.isFrozen
来检测
let person = { name: 'addone' };Object.isExtensible(person); // trueObject.isSealed(person); // falseObject.isFrozen(person); // falseObject.freeze(person);Object.isExtensible(person); // falseObject.isSealed(person); // trueObject.isFrozen(person); // true
感谢你能够认真阅读完这篇文章,希望小编分享的"js如何实现防篡改对象"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
对象
属性
篇文章
密封
方法
这是
一行
人员
代码
价值
兴趣
同时
情况
更多
有时候
朋友
环境
知识
级别
编带
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国程网络技术
c sql数据库设计
民航知识测试软件开发
平南县帮邻网络技术
组态王的报表里无数据库
计算机网络技术论文路由器
gps网络技术维护怎么做
数据库用来保证实体完整性
二级数据库mysql
有名app软件开发公司
网络安全运维工程师有前途吗
网络安全的看法大全
软件开发职业修炼第三层境界
网络安全财富故事
数据库正在使用的表可以重命名吗
网络软件开发的合同范本
华为通用软件开发工程师笔试题
mysql退出当前数据库
学什么网络技术能接单
网络安全硬件平台选型
java数据库更新技术
做比特币的公司软件开发好么
服务器云探针
后台服务器程序被控制的学名叫啥
省电力公司科技互联网部
软件开发 智慧加油
远程服务器管理是什么
中国网络安全审查技术与认中心
h2 内存数据库
vue数据库在哪里