Web 安全
XSS(网页附带上JS)
CSRF(B站诱导用户请求A站)
- 检查请求来源是否合法
- 增加验证码(简单有效)
- 表单 token
- 验证 cookie 的 token 和传参的 token 是否一致
SQL注入(id=1 or 1=1)
网络层 DDOS
- SYN洪水攻击,伪造大量ip和第一次握手,由于ip是伪造的无法进行第二次握手,导致服务器大量的半连接SYN_RCVD。
- 解决办法:减少半连接的timeout,增加最大半连接数,SYN cookies技术(SYN Cookies 技术和深入浅出TCP中的SYN-Cookies)
应用层 DDOS
- 不同于网络层 DDOS,由于发生在应用层,因此 TCP 三次握手已完成,连接已建立,发起攻击的 IP 地址都是真实的
- 限制请求频率:在应用中针对每个客户端做一个请求频率的限制
CC 攻击(Challenge Collapse)
对一些消耗资源较大的应用界面不断发起正常的请求,以消耗服务器端资源
Web shell(TP5的漏洞)
伪随机数和真随机数
- 伪随机数:通过一些数学算法生成的随机数
- 真随机数:
- linux 使用 /dev/random 或者 /dev/urandom 来生成随机数,只需读取即可
- php 若是支持 openSSL 扩展,可以直接使用 openssl_random_pseudo_bytes