- XSS攻击防范
- CSRF攻击防范
- SQL注入
- Nginx指定目录禁止运行PHP
直接显示的数据加上,防止XSS攻击
// 页面直接输出
\common\helpers\Html::encode($title) // 纯文本
\common\helpers\HtmlPurifier::process($content) // html显示的文本 HtmlPurifier帮助类的处理过程较为费时,建议增加缓存
// json输出
\yii\helpers\Json::htmlEncode($content);
如果不用Yii2自带的表单组件可在form表单加入这个开启csrf防范
\common\helpers\Html::csrfMetaTags()
请用Yii2自带的AR或者DB操作类来防范SQL注入
这段配置文件一定要放在匹配 .php
的规则前面才可以生效,防止上传可执行文件攻击
// 单个目录
location ~* ^/attachment/.*\.(php|php5)$
{
deny all;
}
// 多个目录
location ~* ^/(attachment|uploads)/.*\.(php|php5)$
{
deny all;
}
其他
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}