Canlı sitede /.svn/ klasörleri olması güvenli mi? (Nasıl kaldırılır ancak svn güncelleme yeteneğini nasıl korursunuz?)


10

Ben php web sitemin kodunu güncellemek için svn güncelleme yapıyorum, ama .svn/klasörleri her yerde bırakır .

Bu dosyaları genel olarak okunabilir bırakmak tehlikeli olduğunu düşünüyorum, ancak sistemi güncellemek çok kolay.

svn updateSistemi güncellemek için kullanmanın , ancak .svn/klasörleri dışa aktarmanın bir yolu var mı ?

Yanıtlar:


21

Apache kullanıyorsanız:

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

Bu, kişilerin .svndizinlere uzaktan erişmesini (tarayıcıyı kullanarak) engeller , ancak o zaman (ve svn yeteneklerini) projede tutabilirsiniz.

BTW yerini alabilir \.svniçin \.gitya \.cvssen tahrip daha farklı bir şey kullanıyorsanız.


ve bu web sitesindeki tüm .svn dizinlerini engelleyecektir? Birçok alt
dizinim

şu anda benim httpd.conf <Directory /> Seçenekler FollowSymLinks AllowOverride Tümünü </Directory>, bunun altında yazdıklarınızı ayrı bir şey olarak ekleyebilir miyim veya iki giriş birleştirilmelidir mi?
siliconpi

.svnEvet adı verilen herhangi bir dizinle eşleşecektir .
coredump

Ayrı olarak ekleyebilirsiniz.
coredump


3

Kodunuzu SVN'den canlı siteye aktarmak istiyorsunuz ...

Bunun için kullanma svn update. güncelleme, kodu dışa aktarmamakta, çalışan kopyaları güncellemek için kullanılır. svn exportBunun yerine, belirtilen depodan temiz bir dizin ağacı dışa aktardığından kullanın .

--forceBayrak ihracat varolan dosyaların üzerine sağlayacaktır.

SVN Export manuel girişi


OP'nin kullanmak istemediği takdirde sempati kurabilirim export, çünkü her zaman deponun yepyeni bir kopyasını almayı içerir, bu küçük bir bağlantıda büyük bir repo ise bir güçlüktür (web sunucusunda barındırılan bir sunucu olduğunu söyleyin, ancak SVN deponuz yerel ofisinizde ve 1 MB bağlantıyla paylaşılıyor). updateher şeyi almanız gerekmediği anlamına gelir.
Mark Henderson

Adil bir nokta. Belki sitenin yerel bir kopyasına ihracat, daha sonra sadece uzak web sunucusu üzerinde değişiklikleri rsyncing bu durumda işe yarar? Bu problemi hiç yaşamadım bu yüzden düşünmemiştim.
gsreynolds

2

Onları prodüksiyon / canlı sitelere koymuyorum. Çünkü beni ve / veya diğer geliştiricilerin canlı kodu düzenlemenin ne kadar kötü bir fikir olduğunu unutmasını istemiyorum. Yükleme komut dosyam .svn dosyalarımı filtreliyor.


@kerner - onları nasıl güncellersin?
siliconpi

1
Neden sadece svn exportfiltrelemekle uğraşmıyorsunuz?
pjmorse

Sitelerim için kullandığım bir yükleme komut dosyası var ve her birine uyacak şekilde hafifçe tweak ediyorum. Genellikle veritabanları, db tabloları ve db kullanıcıları oluşturmak, herhangi bir varsayılan kullanıcı veya yöneticileri kurmak vb. Gibi şeyler de yapar. ~ / boyunca bir yere kopyalayın ve sonra adı geçen çalışan kopyanın üyesi olan install komut dosyasını çalıştırır, ardından isteğe bağlı olarak çalışan kopyayı siler.
ekerner

1

Capistrano gibi uygun bir dağıtım sistemine bakmalısınız . Bu, üretim sunucularınızın alt sürümlere ihtiyaç duymadığı anlamına gelir ve birden çok sunucuya dağıtabilir ve dağıtımlara özel mantık ekleyebilirsiniz. Ayrıca, dağıtımları geri almayı nispeten kolaylaştırır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.