我想将我的网站保留在版本控制中(特别是 Subversion),并在有稳定版本需要更新时使用 svn co 来更新它,但我担心这样做的安全性因此,由于所有 .svn
文件夹都将是公开的,并且其中包括各种私有(private)数据,尤其是我网站的完整源代码!
我能做些什么来防止这种情况发生吗?
最佳答案
有两件事:
不要将 IfModule 用于您需要存在的功能。可以为自动索引执行此操作,因为它可能不存在并且对于该方案并不重要。但您指望重写来保护您的内容。因此,最好删除 IfModule 指令,让 apache 告诉您何时不存在重写,以便您启用它(或者至少知道您不会受到“保护”并有意识地注释这些行)
<如果您有权访问主配置文件,则无需在那里使用重写,其中之一会更容易
<DirectoryMatch \.svn> Order allow,deny Deny from all </DirectoryMatch>
这将生成 403 Forbidden(从 HTTP 合规性的角度来看,这更好) 或者,如果您想通过默默无闻的方式实现安全性,请使用 AliasMatch
AliasMatch \.svn /non-existant-page
如果您无权访问主配置文件,您只能希望在 .htaccess 中启用 mod_rewrite 来使用。
关于svn - 如何隐藏 Apache 中的目录,特别是源代码管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/214886/