一些目录可从公共 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 中避免这种情况的主要内容,如果未能解决你的问题,请参考以下文章