前端安全问题的解决方法

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 前端安全问题的解决方法

前言:


web前端发展到今天,对于一般的安全问题做的比较完善,我们可以借助第三方库,比如从GitHub上一找一大堆,直接下载引入就能解决大部分问题。

1.常见的安全性问题


XSS攻击(跨站脚本攻击)、CSRF(跨站请求伪造)、SQL注入和文件上传漏洞

2.XSS攻击的解释和解决方法


2.1 XSS攻击是什么:

XSS攻击全称跨站脚本攻击(Cross Site Scripting).是一种常见于 Web 应用中的计算机安全漏洞

2.2 经常出现的原因:用户输入,如input框

2.3 防御方式:

1.输入过滤:在js中对用户输入的数据进行过滤

2.将输出的字符串中的反斜杠进行转义

3.从url中获取的信息,在前端进行转义后再输出

4.使用Cookie的onlyhttp属性

可参考我的另一篇文章:XSS 和 CSRF 原理和基本防御方式

3.CSRF(跨站请求伪造)的解释和解决方法


3.1 是什么

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF

3.2  经常出现的原因:

以用户的名义伪造请求发送给被攻击站点,从而在未授权的情况下进行权限保护的操作。

图示:

image.png

3.3 防御方式:

1.验证码:强制用户输入验证码,才能完成最终请求,

2.Referer Check:检查请求来源来防御CSRF

可参考我的另一篇文章:XSS 和 CSRF 原理和基本防御方式

4.SQL注入


4.1是什么:

SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。

应用程序在向后台数据库传递SQL时,攻击者将SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行的恶意SQL命令。

4.1 解决:

1.防止系统敏感信息泄露:该方法主要是在后台实现

2.数据转义

3.增加黑名单或白名单验证

5.文件上传漏洞


5.1 解决方案:

1.检查服务器是否判断了上传文件类型及后缀

2.定义上传文件类型白名单

3.文件上传目录禁止执行脚本解析

6.前端常用加密方法:


MD5、base64、对称加密、非对称加密 、SHA加密

相关文章
|
前端开发 程序员
【前端】css布局html页面之inline-block布局错位解决方法
本篇文章中,主要讲讲前端布局的情况 对于,对于刚接触前端开发的小伙伴来说,布局是一个比较重要的知识点,如果知识点理解不到位,那么很容易出现布局错位的情况
392 0
|
前端开发
前端报错 error: unknown option `-v' 解决方法
前端报错 error: unknown option `-v' 解决方法
1940 0
|
前端开发
前端报错node-pre-gyp WARN Using request for node-pre-gyp https download解决方法
前端报错node-pre-gyp WARN Using request for node-pre-gyp https download解决方法
913 0
|
前端开发 Java
Java 技术篇 - 前端浏览器发送一次url请求后端ServerSocket接收到两次请求原因及解决方法,GET /favicon.ico HTTP/1.1问题处理
Java 技术篇 - 前端浏览器发送一次url请求后端ServerSocket接收到两次请求原因及解决方法,GET /favicon.ico HTTP/1.1问题处理
743 0
Java 技术篇 - 前端浏览器发送一次url请求后端ServerSocket接收到两次请求原因及解决方法,GET /favicon.ico HTTP/1.1问题处理
|
3月前
|
存储 前端开发 Windows
对于莫名其妙使用smarttomcat上传前端项目失败,上传css等静态资源失败等原因,及解决方法
对于莫名其妙使用smarttomcat上传前端项目失败,上传css等静态资源失败等原因,及解决方法
|
4月前
|
前端开发 JavaScript 应用服务中间件
前端程序员必须要知道的跨域问题以及解决方法
前端程序员必须要知道的跨域问题以及解决方法
|
前端开发
前端提交POST请求却变成GET请求的原因及解决方法
前端提交POST请求却变成GET请求的原因及解决方法
759 3
|
前端开发 JavaScript
js对map排序,后端返回有序的LinkedHashMap类型时前端获取后顺序依旧从小到大的解决方法
在后端进行时间倒序查询后,返回map类型的数据,在postman获取是这样:
482 0
|
存储 前端开发 安全
前端401错误 & 解决方法:响应拦截器
前端401错误 & 解决方法:响应拦截器
前端401错误 & 解决方法:响应拦截器
|
前端开发
前端学习案例-vite项目报错-Cannot use import statement outside a module的解决方法
前端学习案例-vite项目报错-Cannot use import statement outside a module的解决方法
1162 0
前端学习案例-vite项目报错-Cannot use import statement outside a module的解决方法