活网站上的/.svn/文件夹安全吗? (如何删除它们,但保留svn更新function?)

我正在做svn更新来更新我的PHP网站的代码,但它留下了.svn/文件夹。

我认为将这些文件公开地读取是危险的,但是它很容易更新系统。

有没有办法使用svn update来更新系统,但不导出.svn/文件夹?

如果你使用的是Apache:

 <Directory ~ "\.svn"> Order allow,deny Deny from all </Directory> 

这将阻止人们远程访问.svn目录(使用浏览器),但是你可以保持(和svnfunction)在项目上。

顺便说一句,如果您使用的是不同于subversion的东西,您可以用\.svnreplace\.svn \.git\.cvs

你应该改变Apacheconfiguration,以便它拒绝访问.svn文件夹。 这个线程有更多的信息https://stackoverflow.com/questions/398008/deny-access-to-svn-folders-on-apache

你想从SVN导出你的代码到现场…

不要使用svn update 。 更新是用于更新工作副本,而不是导出代码。 使用svn export而不是从指定的存储库中导出干净的目录树。

--force标志将允许导出覆盖现有的文件。

SVN导出手册条目

我不把他们放到生产/现场。 因为我不希望我和/或其他开发人员忘记编辑实时代码的坏主意。 我的安装脚本过滤我的.svn文件。

你应该考虑一个适当的部署系统,如Capistrano 。 这意味着您的生产服务器不需要颠覆,您可以部署到多个服务器并将自定义逻辑添加到部署中。 这也使得回滚部署变得相对容易。