我想这更像是一个管家问题,但就这样了。
index.html
如果我为我的called创建了一个备份文件,在我的 apache2 服务器上index.html.bak
使用的外部人员是否有可能列出我的目录的内容?我目前不知道这样做的方法,但这可能是由于我在这方面缺乏经验。我应该将不需要在其他地方看到的文件存储起来吗?http
/var/www
目前,我认为有人可能会发现该文件的唯一可行方法是在某处有指向该文件的显式链接。 我的网站目录有多可见?
我想这更像是一个管家问题,但就这样了。
index.html
如果我为我的called创建了一个备份文件,在我的 apache2 服务器上index.html.bak
使用的外部人员是否有可能列出我的目录的内容?我目前不知道这样做的方法,但这可能是由于我在这方面缺乏经验。我应该将不需要在其他地方看到的文件存储起来吗?http
/var/www
目前,我认为有人可能会发现该文件的唯一可行方法是在某处有指向该文件的显式链接。 我的网站目录有多可见?
如果您指定
Options -Indexes
为有Directory
问题的,那么 Apache 将不会生成目录列表。但是,如果操作系统允许 Web 服务器访问该文件,即使有人猜到了文件名,他们仍然可以访问该文件。要直接回答您的问题 - 您可以将此类文件保存在其他地方,或者您可以将 apache 配置为拒绝访问它们 - 拒绝访问 *.bak 相对简单。
除非配置为不这样做(如上面 MH 所述),否则 Apache 将为不包含索引文件的任何目录生成并显示目录列表 - 由 DirectoryIndex 指令定义,但通常是 index.html,index.htm, index.php,和类似的。
更一般地说:
您可能需要考虑使用版本控制系统,如 SVN 或 git(甚至 RCS)来保留旧版本和网页的更改历史记录(包括查看更改内容和更改时间的能力,更重要的是,能够恢复到以前的版本)
git 和 svn 都需要在别处设置一个存储库。RCS 相当原始和基本,但不需要任何设置,它将修订历史记录保存在同一目录或 ./RCS 子目录(如果存在)中。RCS 的一个小烦恼是,当您签入文件时,它会将权限更改为只读,因此您必须再次签出它才能再次编辑它(或用于
ci -l
签入文件并立即签入出来)。IMO git 对于这项工作可能有点过分了,SVN 在管理一组手动编辑的 HTML 页面的修订历史的复杂性和能力方面接近理想,而 RCS 是古老的但仍然有用。使用 RCS,您只能直接在 /var/www 中编辑文件,这意味着更改会在您保存文件后立即“生效”。使用 svn 或 git,您可以签出本地副本,例如,您桌面计算机上的主目录,编辑文件,签入更改,然后在服务器上的 /var/www 中签出更新。完成的。您还可以先将更改签出到暂存服务器以进行测试,然后再将它们签出到生产服务器上。
然后,您可以拒绝使用 apache 访问 .svn/、.git/、RCS/ 等子目录 - 例如,请参阅https://stackoverflow.com/questions/398008/deny-access-to-svn-folders-on-apache
当然,有效地使用修订控制需要一些纪律。您必须养成每次进行更改时都检查更改的习惯——这是值得的。
如果您启用了目录列表,那么该文件肯定是可见的。即使未启用目录列表,也不建议将您不想让别人看到的文件保存在 /var/www 中,因为它是为公共文档制作的。
我看不出将备份文件保存在
/var/www
.备份是为了在您搞砸时快速修复问题。我建议你在一些核心驱动器(外部世界无法访问)中创建一个新的备份目录,并将你的备份存储在那里。