-
我在 JavaScript 里随手用一个普通对象当字典来存用户提交的键值数据还用 key in obj 判断某个键存在不存在,结果有用户根本没提交过 toString 这个键我的代码却判定它存在并走错了分支,更有个用户把键填成 __proto__ 直接让一批对象行为错乱,排查很久才搞懂用字面量对象当字典时它身上本就继承着一堆原型链上的属性的深度复盘
我做一个功能要把用户提交的一批键值对(键是用户填的字段名值是内容)存起来再做判断,图省事直接用普通对象 {} 当字典:const dict={}; dict[key]=value,判断键在不在用 if(key in dict)。开发拿正常数据测都好,可上线后冒出邪门事:有分支是 if(key in dict),结果用户从没提交过 toString 这个键、可 'toString'…- 0
- 0
原型污染
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

