单机游戏: <super赛亚人传说下载> 好玩吗?

作者:zccst又一次因为转义字符而栽坑里了。产品详情productDetail.js在页面显示时,使用了转义函数escapleHTML在errors对象里通过页面中的字符作为key,取errors[i][key]的值时,要先对key做反转义,然后才能取出来。var $tr = $(trs[i]),
keyname = $tr.find("td").eq(0).html();var map = data[0].// 页面中的keyname是转义过的,取值时需要反转义if(map && map[util.unescapeHTML(keyname)]){$tr.find("td").eq(2).append('&br/&&span&'+map[util.unescapeHTML(keyname)]+'&/span&');}转义分为escapeHTML和unescapeHTML,先看两个函数的实现。/** * @function escapeHTML 转义html脚本 & & & " ' * @param a - *
字符串 */escapeHTML: function(a){a = "" +return a.replace(/&/g, "&").replace(/&/g, "&").replace(/&/g, "&").replace(/"/g, "&").replace(/'/g, "&");;},/** * @function unescapeHTML 还原html脚本 & & & " ' * @param a - *
字符串 */unescapeHTML: function(a){a = "" +return a.replace(/&/g, "&").replace(/&/g, "&").replace(/&/g, "&").replace(/&/g, '"').replace(/&/g, "'");},1,escapeHTML将& & & " '转成字符实体使用场景:(1)用户在页面中录入(比如输入框) &script&alert(2);&/script&, js将该内容提交给后端保存(2)显示时,后端将字符串返回前端;js接收到之后:a, 使用escapeHTML,将字符串转为 &script&alert(2);&/script&此时,浏览器将能正确解析,因为浏览器接收到实体字符后,转成对应的尖括号等。b, 不使用escapeHTML,浏览器一看到&,便认为是html标签的开始,直接把刚才的字符串当脚本执行了,这就是xss漏洞。2,unescapeHTML将字符实体转成& & & " '使用场景:后端将已经转义后的内容显示到页面;比如&script&alert(2);&/script& js收到后:a,前端进行unescapeHTML,则可以直接dom操作,将标签显示到页面。b,前端没有unescapeHTML,则原样输出&script&alert(2);&/script&,但此时并没有执行。转义字符:& =& && =& && =& &" =& &' =& &下面的记录不完整,以后慢慢补充吧提示:使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。如果您觉得本文的内容对您的学习有所帮助,您可以微信:
大小: 31.2 KB
最新教程周点击榜
微信扫一扫当前【全部】
全部安卓手机安卓平板安卓电视iPhoneiPad其他
当前位置:>>>Super赛亚人传说
热门排行榜
3090+人在玩8万+人在玩2万+人在玩3万+人在玩8万+人在玩2073+人在玩
Super赛亚人传说app相关推荐
发现该应用有下载***使用错误或恶意扣费携带病毒,请
版权所有 京ICP备号-5
京公网安备 50 备你可能还会喜欢
格斗游戏精品游戏
5.0分
10分
2.5分
0分
10分
6.7分
10分
10分
6分
从2008年-2014年 快猴网一直在努力做到最好
备案编号:粤ICP备号-1

参考资料

 

随机推荐