跨站脚本攻击(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安全

文件包含漏洞

包含上传文件,上传图片

代码执行漏洞

危险函数 execshell_execsystem可以直接执行系统命令。eval 函数可以执行 PHP 代码