跨站脚本攻击(XSS)
就是在URL上带一段 JavaScript
代码
防止就是将html标识符转换成实体,在PHP中可以用 htmlspecialchars
函数来操作
跨站点请求伪造(CSRF)
就是拿到你正常网站的cookie
了,然后用冒充正常请求
预防方法
- 检查请求来源
- 增加随机token
- 增加验证码等
DDOS攻击(无解)
控制肉鸡,合法请求,基本无解,可以利用云服务商提供的服务
SQL注入
对传递的参数没做检查,导致拼接的查询语句不是实际想要的
例如:
# 原本相查询的语句
select * from users where username = 'shuxiaoyuan';
# 经过伪造
select * from users where username='shuxiaoyuan' or 1=1#' and password=md5('');
# 等价于
select* from users where username='shuxiaoyuan' or 1=1
防护也很简单
- 参数绑定,不要做字符串拼接
- 用PDO,ORM等
- 转移字符,
mysql_real_escape_string
PHP安全
文件包含漏洞
包含上传文件,上传图片
代码执行漏洞
危险函数 exec
、shell_exec
、system
可以直接执行系统命令。eval
函数可以执行 PHP 代码