[LNMP]Yii 1.x程序目录优化建议和权限配置

说明


本程序目录规范适用于Yii 1.1.x 版本,由于Yii 2.0 变化较大,所以不适用。

目录结构


根目录文件

<pre>
index.php web程序入口
build.xml Jenkins 配置文件
robots.txt 爬虫规则文件
</pre>

assets/

Yii 框架静态资源生成目录

config/(程序配置目录)

<pre>
main.php web主配置文件
params.php 模块参数配置文件
service.php 程序使用的服务的配置文件,包括mysqld/memcached/redis/mongoldb
console.php 命令行程序主配置文件
</pre>

data/

附件或用户上传数据目录

runtime/

程序运行过程目录,包括Yii log/临时temp cache

source/(程序源码目录)

<pre>
commands/ 命令行程序
components/ 组件目录
controllers/ 控制器模块
extensions/ 第三方扩展目录
models/ 模型目录
modules/ 模块目录
views/ 视图目录
yiic 命令行程序入口(linux)
yiic.bat 命令行程序入口(window)
yiic.php 命令行程序
</pre>

static/

<pre>
css/ css目录
images/ images目录
js/ js目录
</pre>

目录的系统权限


常规目录和文件

这些目录及子目录权限所有者是root:root 或jenkins_publisher:jenkins_publisher,目录权限为:755,文件权限为:644

  • config/
  • source/
  • static/
web读写目录

这些目录及子目录权限所有者是nobody:root 或 nobody:jenkins_publisher,目录权限为:755,文件权限为:644

  • assets/
  • data/
  • runtime/

目录的web访问权限


禁止web访问的目录

这些目录禁止任何web访问,直接访问将返回404

  • config/
  • source/
  • runtime/

在Nginx中配置:

<pre>
location ~* /(config|source|runtime)/ {
return 404;
}
</pre>

禁止php执行的目录

这些目录中,禁止php文件的执行,访问php后缀(.php)的文件将返回403

  • assets/
  • data/
  • static/

在Nginx中配置:

<pre>
location ~* /(assets|data|static)[/.]*/.*.(php|php5|asp|aspx|jsp|sh){
deny all;
}
</pre>

其他参考资料


[LNMP]Linux的Web环境的安全配置

整理于2014/12

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容