美文网首页LNMP开发
[LNMP]Yii 1.x程序目录优化建议和权限配置

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

作者: tumg的LNMP_IOS小集 | 来源:发表于2016-02-27 10:25 被阅读352次

    说明


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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/zlsikttx.html