Skip to content

Latest commit

 

History

History
56 lines (42 loc) · 1.08 KB

php-safety.md

File metadata and controls

56 lines (42 loc) · 1.08 KB

安全防范

  • XSS攻击防范
  • CSRF攻击防范
  • SQL注入
  • Nginx指定目录禁止运行PHP

XSS攻击

直接显示的数据加上,防止XSS攻击

// 页面直接输出
\common\helpers\Html::encode($title) // 纯文本
\common\helpers\HtmlPurifier::process($content) // html显示的文本 HtmlPurifier帮助类的处理过程较为费时,建议增加缓存

// json输出
\yii\helpers\Json::htmlEncode($content);

CSRF攻击防范

如果不用Yii2自带的表单组件可在form表单加入这个开启csrf防范

\common\helpers\Html::csrfMetaTags()

SQL注入

请用Yii2自带的AR或者DB操作类来防范SQL注入

Nginx指定目录禁止运行PHP

这段配置文件一定要放在匹配 .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;
}