防御原理:
1. 通过以上配置过滤基本的url中的注入关键字;
2. 当然,数据库中的用户密码得加密存放 ;
3. php程序进行二次过滤,过滤GET和POST变量中的关键字;
4. 生产环境关闭PHP和MySQL的错误信息。
SQL注入攻击一般问号后面的请求参数,在nginx用$query_string表示
例如,对于参数中带有单引号的'进行匹配然后定向到错误页面, /plus/list.php?tid=19&mid=1124'
| 代码如下 | 复制代码 |
|
rewrite ^.*([;']).* /error.html break; |
|
直接写这样的一条重写肯定不会正确匹配,因为rewrite参数只会匹配请求的uri,也就是/plus/list.php部分。
需要使用$query_string 借助if进行判断,如果查询串种包含特殊字符,返回404。
| 代码如下 | 复制代码 |
|
if ( $query_string ~* ".*[;'].*" ){return 404;} |
|
对一些联合进行设置
| 代码如下 | 复制代码 |
|
if ( $query_string ~* ".*[;'].*" ){ |
|
下面分享一个禁止文件注入的方法
| 代码如下 | 复制代码 |
|
## 禁掉文件注入 |
|
防止注入的方法有很多这里就不一一介绍了,大家可参考参考。
DeepSeek多模态怎么样及保姆级配置教程(codex、claude)实用指南
WSL2+Docker+Ollama本地部署大模型思路和实践指南(Qwen1.8b)实用指南
DeepSeek Harness热门插件盘点:10个实用插件,覆盖多Agent、上下文和多模态实用指南
grep文本搜索与正则表达式完整代码示例实用指南
AI漫剧伪装直男1‑24集无雾版夸克网盘资源免费分享
AI漫剧玉僧入尘1-68集无雾无删版夸克网盘资源免费分享