XSS是什么?对这种攻击有哪些防范方法?

XSS(Cross Site Script)即跨站脚本攻击,它将恶意脚本注入到目标网页中,用户在访问该页面时,有可能造成信息泄露,用户行为被劫持、感染并传播蠕虫病毒等危害。
防范方法如下列:
1.为Cookie添加HTTPOnly标记,使得客户端不能通过javascript读取Cookie信息。
2.对提交服务器中的信息做输入检查,例如白名单过滤、把字符编码成HTML实体等。
function htmlEscape(text){
return text.replace(/[<>"&]/g, function(match, pos, originalText){
switch(match){
case "<": return "<";
case ">":return ">";
case "&":return "&";
case """:return """;
}
});
}
白名单过滤
通过 whiteList 来指定,格式为:{'标签名': ['属性1', '属性2']}。不在白名单上的标签将被过滤,不在白名单上的属性也会被过滤。以下是示例:

// 只允许a标签,该标签只允许href, title, target这三个属性
var options = {
whiteList: {
a: ["href", "title", "target"]
}
};

// 使用以上配置后,下面的HTML
 <a href="#" onclick="hello()"><i>大家好</i></a>
// 将被过滤为
 <a href="#">大家好</a>

默认白名单参考 xss.whiteList。
第一个是match正则匹配到的值 第二个是偏移量 第三个是原字符串
3.对输出到页面中的信息做输出检查,检查方式和第二种类似。
4.输入内容长度检查,

前端问题总结 文章被收录于专栏

总结一些前端常见的面试笔试题,来和大家分享鸭

全部评论

相关推荐

暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务