HTTP 安全
浏览器同源策略
- 现代浏览器以及 HTTPS 会对非同源的请求进行拦截以保证安全
- 若请求链接中的协议、主机名、端口、方法等任何一个不一样,都是不同源请求
CSP
- 内容安全策略,可以在 HTML 中的 meta 标签或者服务端返回的
Content-Secrity-Policy
头中进行设置 - 可以指定资源的请求域、资源的加载方式等
XSS
跨站脚本攻击,分为了持久型 XSS、反射型 XSS 和 DOM 型 XSS
持久型 XSS
是最常见的 XSS 攻击,主要通过输入框、富文本等组件输入
一些恶意的脚本代码,存储到服务端之后,当其他用户打开页面加载该脚本时便出现攻击行为反射型 XSS
是需要用户点击黑客提供的恶意链接
,该恶意链接会在跳转到正常页面的同时执行黑客脚本DOM 型 XSS
存在于一些第三方插件
中,如浏览器插件去恶意修改页面 DOM 等方式
对于 XSS 的防范主要是防范持久型 XSS,在页面的输入框和富文本提交时对字符串做过滤处理,同时在页面中只对可信的 HTML 文本做解析
CSRF
跨站请求伪造,当用户在正常的网站登录之后,由于同源请求会默认携带 Cookie,因此黑客可以在自己的网站中向正常网站发送伪造请求
来冒充用户自己的操作
攻击方式主要包含通过标签的 src 属性、href 属性以及 form 的 action 属性等,通常是伪造 GET 请求
防范方式包含使用 POST 请求处理资源、服务端验证请求的 Referer、禁止第三方网站请求携带 Cookie 以及最后在请求时增加 csrftoken 字段做校验