常见的网络安全问题
-
Dos攻击:
描述:攻击者发送大量的虚假请求,每次请求都会与目标服务器进行Tcp连接,并返回确认信息,等待攻击者确认,由于攻击者的目的就是搞垮服务器,所以并不会发送确认信息,而是等待Tcp连接自动断开后再次发送此类请求,由此服务器的资源会耗尽
解决办法::解决办法
-
Xss攻击(跨站脚本攻击):
描述:在网页中嵌入恶意脚本,用户打开网页就会运行,从而盗取用户的cookie
解决办法:对输入的数据中,的引号,尖括号等进行转义处理
-
Csrf攻击(跨站请求攻击):
描述:盗用用户信息,访问第三方网站详细描述
解决办法:1、在cookie中设置为HttpOnly,这样js代码就无法访问cookie。2、增加token验证。3、请求头中加一个referer字段,记录请求的来源地址,判断该值是否合法
-
sql注入:
描述:将sql命令伪装成请求参数,从而使服务器端执行这段恶意的sql代码
解决办法:对sql语句进行转义
React相关
父组件如何使用子组件的方法:
答案:使用ref选中子组件,调用子组件里面的方法
-
react的生命周期函数:
- 答案:点击该链接
js基础
-
正则表达式:
- 答案:正则表达式手册
-
cookie与session的区别:
- 答案:cookie与session,都是用来做数据临时储存的,cookie储存于本地内存中,session储存于服务器的内存中
-
cookie、sessionStorage、localStorage:
cookie:用于临时储存用户信息,安全性较差,容量小(40Kb),每次http请求都会一并被发送到服务器,并且在js中没有原生的接口供访问cookie
sessionStorage:会话储存,即当前网页未关闭,则sessionStorage就一直存在,容量为5M
localStorage:本地持久化储存,默认无过期时间,容量为5M
-
数组的forEach和map的区别:
- 答案:forEach仅能用来遍历数组,map方法除遍历外,还可以在retrun中对数组中的每一个元素做自定义处理
-
数组的map与filter的区别:
- 答案:filter方法不会改变原数组,且返回值为一个满足判断条件的元素,map方法则对数组中的每一个元素都进行一次操作,并返回这个修改过后的数组
去除字符串中的所有空格:
String.prototype.removeSpace = function() {
return this.replace(/\s/g, "");
};
手写一个邮箱的正则表达式:
/^[A-Za-z0-9_]+@[A-Za-z0-9_]+\.[A-Za-z0-9_]+$/
-
如何判断字符串中是否有另外一个字符串:
使用indexOf,若返回>=0则有,否则无
使用正则表达式匹配,string的test方法,或者reg的match方法
HTTP
- 状态码
200 OK 正常返回信息
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。
304 Not Modified 自从上次请求后,请求的网页未修改过。
400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源。
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。```
* http与https的区别与联系,[地址](https://juejin.im/entry/58d7635e5c497d0057fae036)
```http协议在于服务器传递信息的时候,数据以明文方式传输,如果攻击者截取了数据,就能很轻易的读懂内容,故http不适合传输一些敏感信息
https协议是http协议的一种升级,在http的基础上加入的SSL/TSL(TSL协议可以理解为SSL协议的3.1版本)协议,也就是https中的s,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之前的数据进行加密
https协议主要作用:
1、建立一个信息安全的通道,确保数据安全
2、 确认网站的真实性
https协议的主要优势:
1、据谷歌统计,https的网站比http的网站排名更高
2、安全性,虽然不是绝对安全但是加大了攻击者的成本
https协议的缺点:
1、https协议的网站会延长加载时间,因为增加了SSL/TSL协议在握手阶段就会更费时。
2、购买SSL证书需要钱,功能越强大的证书费用越高
3、连接缓存的速度比http要慢很多,大流量网站非必要不会采用
4、相比之下占用更多的服务器资源```