我才发现梦想与现实间的区别

坚持就是胜利------仅此记录每天学习的知识点

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,如果用默认的转码就加不了过滤代码。

猜你喜欢

转载自www.cnblogs.com/Mr-qiu/p/9001821.html