坚持就是胜利------仅此记录每天学习的知识点
2018-5-7(周一)
sessionstorage.setItem(key, str)方法设置相同的key值,后者不会覆盖前者,getItem('key')值为两个字符串相加
跨域产生的原因包括(1、浏览器限制(前台请求发送和后端都返回数据了,就是浏览器限制)2、不在同一个局域网,比如端口不同;3、XmlHttpRequest请求(比如json请求就不会产生跨域))
解决跨域可以从两个方面入手1、服务端允许跨域;2、调用方隐藏跨域请求
1、服务端添加允许跨域的代码,比如在filter里添加请求头的相关代码(response.setHeader()方法,)
2、浏览器设置允许跨域
3、不用xhr请求,比如jsonp(缺点只有get请求)
4、中间服务器Nginx或apache配置代理请求
5、springboot 注解@CrossOrigin
xss攻击分为两类:1、反射型:在请求url参数中带标签(style:影响样式;script:增加脚本事件;Iframe:增加窗口),服务器解析后返回错误数据,浏览器显示错误,比如评论功能;2、储存型(脚本等存在数据库等中,sql)
解决:编码、过滤,校正。对用户的数据进行html Entity 编码,在转码过程中添加过滤,移除用户输入的dom 事件,比如onerror onclick,移除标签:style、script、Iframe,如果用默认的转码就加不了过滤代码。