一些目录可从公共 URL 访问。如何在 yii 中避免这种情况

Posted

技术标签:

【中文标题】一些目录可从公共 URL 访问。如何在 yii 中避免这种情况【英文标题】:Some of the directories are accessible from public URL. How to avoid this in yii 【发布时间】:2016-05-09 12:47:58 【问题描述】:

在我的 Yii Web 应用程序中,一些目录可以从公共 URL(主目录或应用程序文件夹)访问,如 js、css、图像等。如何避免这个问题。这是一个主要的安全问题,但我不知道如何解决这个问题。请帮帮我...

提前谢谢...

【问题讨论】:

【参考方案1】:

你必须打开 apache 目录列表。使用下面的链接。

How do I disable directory browsing?

然后将一个目录的所有文件和文件夹权限改为644和755。

Change all files and folders permissions of a directory to 644/755

如果您需要帮助,请告诉我

【讨论】:

【参考方案2】:

这是文档中给出的一些说明。

1) 重要的是目录可以被网络服务器用户写入,这样 Yii 可以在需要时在那里发布资源。

2) 当一个项目有多个版本(生产、测试​​、开发等)时,不要将资产/文件夹从一个区域复制到另一个区域;让 Yii 在每个区域自动部署它们。

3) 不要手动编辑 assets/ 下的任何文件 - 如果你真的需要更改,找到发布模块,编辑源,删除 assets/ 下的子文件夹,让 Yii 重新发布更新文件。

4) 不要直接引用 assets/ 文件夹下的名称(例如,获取其他模块的资产)。如果你需要使用它

5) 不要将 assets/ 文件夹的内容添加到任何源代码控制系统;这些文件在其他地方有主源。

6) 删除 assets/ 下的所有内容是安全的。如果 assets/ 下没有找到, Yii 会重新发布这些资产。

希望对你有帮助:)

【讨论】:

【参考方案3】:

如果您使用的是 Apache,您可以通过以下方式限制对目录的访问:

在您的目录中创建一个 .htaccess 文件,以便 path/to/directory/to/deny/.htaccess

打开.htaccess并添加Deny from all

【讨论】:

以上是关于一些目录可从公共 URL 访问。如何在 yii 中避免这种情况的主要内容,如果未能解决你的问题,请参考以下文章

Yii2.0如何建立公共方法

如何使用 adb 将文件复制到可从 PC 访问的 android 目录

Yii 包访问 url 中的文件

yii2框架目录

yii2 判断一个url用户是不是有权限访问

如何在实时服务器上修复 Yii2 中的 url?