PHP dosyaları güvenli

3 Cevap php

Merhaba ve benim sorum okumak için herkese teşekkürler.

Ben bir süre için bir PHP web program üzerinde çalışıyoruz ve ben canlı bir sunucuya koymadan önce kaynağını korumak için alması gereken önlemler ne merak ediyordum. Kaynak o (kullanıcıların kullanmak web sitesine giriş) bir web sitesi aracılığıyla erişilen ediliyor, dağıtılan varlık değildir.

İlk buldum ve indirilen kaynak php dosyalarını korumak istiyorum. Ben sadece php, herhangi bir çerçeve kullanarak değilim ve tüm dosyaları index.php olarak ev dizininde bulunmaktadır. Etrafa okumak ve robots.txt gizlemek için gerçekten etkili değil gibi görünüyor. Bir web uygulaması için uygun Htaccess yapmak için bir yolu varsa emin değilim. Htaccess öneren bazı insanlar mesaj geldi, ama ben sık sık bir şifre ile bir dizin içindeki dosyaları korumak için olduğunu düşündüm, bu yüzden.

İkincisi, ben kimse onlara (onları bulur ve onları ya sunucuya hazır erişimi olan bir sys yönetici indirir ya) erişim alır durumda kaynak dosyaları korumak istiyorum. Ben ioncube gibi bir şey ile kaynak şifreleme düşündüm. Benim ev sahibi de [bu konuda herhangi bir düşünce ioncube ile karşılaştırıldığında, ben aşina değilim ki?] GnuPG'yi var

Ben kaynak koruma aşina değilim, bu yüzden herhangi bir fikir güzel olurdu, ve tabii muchly teşekkür ederim :)

3 Cevap

Sadece web sunucusu .php dosyaları doğru işlemek için kurulmuş olduğundan emin olun ve tüm dosyalar doğru .php uzantısı (değil .php.inc veya benzeri) sahip olduğunu

Sürece sunucu PHP yürütür gibi, hiç kimse (farklı bir konudur, kodunuzda herhangi bir güvenlik delikleri sayarak) kaynak kodunu indirebilirsiniz

Bu kötü bir fikir olduğunu - isim mystuff.php.inc çizgisinde dosyaları dahil etmek ortak oldu bir zaman vardı. Sitenizde "example.com" olduğunu ve sen config.php.inc veritabanı yapılandırma depolamak Say - Birisi bu URL'yi tahmin varsa, onlar talep http://example.com/config.php.inc ve düz metin veritabanı giriş alabilirsiniz ..

Bu yapılandırma gibi bisko answered bir dizin yukarı diğer kütüphaneleri saklamak iyi bir fikir - yani sizin gibi bir dizin yapısı var ..

/var/example.com:
    include/
        config.php
        helper_blah.php
    webroot/
        index.php
        view.php

Bu şekilde, web-sunucu geneli berbat, ve düz metin olarak .php dosyalarını hizmet başlar alır bile, kötü olacak, ama en azından alışkanlık dünyaya veritabanı ayrıntılar açıklayacağız ..

Dosyaları şifrelemek gelince, ben dosyaları Apache (veya kullandığınız ne olursa olsun sunucu) şifresiz olmalıdır erişebilirsiniz .. bu iyi bir fikir olduğunu sanmıyorum. Apache erişebilirsiniz ise, sistem yöneticisi de yapabilirsiniz ..

Ben şifreleme güvenilmez bir sistem yöneticisi için bir çözüm olduğunu düşünmüyorum ..

Peki sizin ilk nokta için, size serverfault hakkında yardım için bakmak gerekir, hangi web sunucusu güvenlik bulunuyor. Temelde bu bir güvenli / kilitli dizin kullanmak, ya da bir web servisi aracılığıyla sanal dizindeki dosyalara erişmek olacaktır.

Eğer ikinci nokta için, size kaynağı koruyacak, bunun için bir obfuscator kullanmak, ancak dosyayı alırsanız, sadece onu korumak için çok yapabilirsiniz unutmayın olacaktır. Onlar gerçekten ilgileniyorsanız, onlar istediklerini elde edeceksiniz.

Almanız gereken ilk adım web sitesi kök dışında tüm gereksiz dosyaları alıp başka bir yerde onları koymak ve sadece dosyaları bırakın, web denilen ediliyor.

Bu ayarı varsa, örneğin:

 /var/htdocs/mysexydomain.com/root/config.php
 /var/htdocs/mysexydomain.com/root/db.class.php
 /var/htdocs/mysexydomain.com/root/index.php
 /var/htdocs/mysexydomain.com/root/samplepage1.php

Alacağınız bir seviye yüzden yukarıdaki tüm dosyaları atın

 /var/htdocs/mysexydomain.com/includes/config.php
 /var/htdocs/mysexydomain.com/includes/db.class.php #see the includes dir? :)
 /var/htdocs/mysexydomain.com/root/index.php
 /var/htdocs/mysexydomain.com/root/samplepage1.php