web安全,常见的攻击以及如何防御

1、CSRF攻击

CSRF即Cross-site request forgery(跨站请求伪造)

(1)表单带一个后端生成的 token,或用XMLHttpRequest附加在header里。

复制代码
<form action="example.com/swap" method="POST">
  <input type="hidden" name="token" value="aaaabbbb">
  ...
</form>

(2)设置cookie属性SameSite 为StrictLax。基本就杜绝了 CSRF 攻击,当然,前提是用户浏览器支持 SameSite 属性。

(3)验证 HTTP Origin或Referer 字段。记录了该 HTTP 请求的来源地址。缺点:Referer 值是由浏览器提供的,因为浏览器限制,不能手动添加和修改referer请求头。使用验证 Referer 值的方法,就是把安全性都依赖于第三方(即浏览器)来保障,从理论上来讲,这样并不安全。对于某些浏览器,比如 IE6 ,目前已经有一些方法可以篡改 Referer 值。用户自己也可以设置浏览器使其在发送请求时不再提供 Referer。

(4)提交验证码。在表单中添加一个随机的数字、字母、图片(缺失一块位置,拖动补齐)验证码。通过强制用户和应用进行交互来有效地遏制CSRF攻击。

参考:

CSRF防御之token认证_csrf token-CSDN博客

2、XSS攻击

XSS即Cross Site Scripting(跨站脚本攻击),攻击者通过各种方式将恶意代码注入到用户的页面中,这样就可以通过脚本进行一些操作。

相关推荐
森林的尽头是阳光2 小时前
tree回显问题
javascript·vue.js·elementui
weixin_BYSJ19872 小时前
「课设设计」springboot校园超市助购系统26449 (附源码)
java·javascript·spring boot·python·django·flask·php
Highcharts.js2 小时前
如何下载使用Highcharts Grid 开发web可编辑表格
前端·人工智能·grid 表格·web 表格·在线编辑表格·highcharts表格安装·表格开发工具
用户62960593247053 小时前
从“浏览器根本区分不了”到真正实现:刷新不退出,关闭标签页自动退出,前端判断浏览器关闭和刷新
前端
qetfw3 小时前
MWU:Vue 3 + FastAPI 的 MaaFramework 跨平台 WebUI 源码
前端·vue.js·python·fastapi·开源项目·效率工具
mfxcyh3 小时前
Vue3+Ant Design Vue 实现手动异步文件上传(含大小校验、弹窗上传)
前端·javascript·vue.js
wordbaby3 小时前
Web端热敏标签打印完整解决方案(QZ Tray + 译维A42)
前端
swipe3 小时前
03|Axios 请求进了后端之后:Controller、Request、Response 是怎么接住它的?
前端·后端·全栈
meilindehuzi_a3 小时前
Vue3进阶基础:指令修饰符、v-model表单绑定、动态样式、计算属性与侦听器实战
前端·javascript·vue.js
csdn2015_3 小时前
vue 前端运行命令
前端·javascript·vue.js