[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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容