以下是一些在PHP开发中常见的安全漏洞及其防御措施的实例:
| 漏洞类型 | 描述 | 防御措施 |
|---|---|---|
| SQL注入 | 攻击者通过在输入字段中注入恶意SQL代码,从而修改数据库结构或数据。 | 使用预处理语句(PreparedStatements)和参数化查询。 |
| 跨站脚本攻击(XSS) | 攻击者通过在Web页面中注入恶意脚本,从而盗取用户信息或控制用户会话。 | 对用户输入进行适当的转义,使用内容安全策略(CSP)。 |
| 跨站请求伪造(CSRF) | 攻击者利用用户已登录的账户,在用户不知情的情况下执行恶意操作。 | 使用CSRF令牌,确保请求来源合法。 |
| 文件上传漏洞 | 攻击者通过上传恶意文件,从而破坏服务器或窃取敏感信息。 | 对上传的文件进行类型检查和大小限制,使用安全的文件上传库。 |
| 信息泄露 | 程序中泄露敏感信息,如数据库密码、API密钥等。 | 对敏感信息进行加密存储,避免在日志中记录敏感信息。 |
| 密码存储不当 | 使用弱密码或明文存储密码,导致密码泄露。 | 使用强密码策略,对密码进行哈希存储,并使用盐值。 |
以下是一个关于SQL注入防御措施的示例:

```php
// 假设这是一个接收用户输入的表单
$userInput = $_POST['username'];
// 使用预处理语句防止SQL注入
$stmt = $pdo->prepare("
