LNMP开发

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

2016-02-27  本文已影响352人  tumg的LNMP_IOS小集

说明


本程序目录规范适用于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

web读写目录

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

目录的web访问权限


禁止web访问的目录

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

在Nginx中配置:

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

禁止php执行的目录

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

在Nginx中配置:

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

其他参考资料


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

整理于2014/12

上一篇下一篇

猜你喜欢

热点阅读