Bir istemci görünümü sunucu tarafı PHP kaynak kodu Can?

7 Cevap php

Birkaç müşterilerinden gelen talebe yanıt olan bir PHP uygulama geliştirme yapıyorum ve "müşterilerine herhangi yazıyorum PHP kodu görebilir miyim?" Düşünüyor.

7 Cevap

Hayır, sürece

  • Bir sunucu yanlış yapılandırma var
  • Kötü bir yankı / oralarda bulunur

Hayır aslında bunu kullanarak nereye altında onlara yankılanan sürece.

Kullanım www servis dizin altına veya dışından içerir. (Yapamam +1 henüz .. Frankie için)

Lütfen http dizinleri için sembolik kullanmayın. Ben bilerek iki gösteri kaynağı kullanılan ve daha önce kullanıcı istek yola bağlı olarak yürütmek, ancak açıkça httpd.conf bu gerekli httpd.conf değişiklikleri (ya da yanlış) ve devre dışı bırakılabilir ettik.

If allowing downloads of files using fopen, don't pass anything the user creates to it or they could figure out how to get it to grab any file they can find. Consider:

fopen('reports/' . $_GET['blah']);

kullanıcı '.. / index.php' geçer nerede

Eğer web sunucusu evet hizmet yerine kendi php ayrıştırmak için ayarlanmış varsa. Ama sonra müşteriler işe yaramaz. Yani herhangi bir güvenlik delikleri engelleme, cevabım hayır.

Hayır, ama bunu önlemek için gerekli tüm tedbirleri almalıdır.

You zaman (halt, neden hepsi değil?) Hassas kodu ayarlamanız gerekir bir dizinde feryat sunucu berbat alırsa sizin sunucunun çalışıyor dir (diyelim / www), bu şekilde, alışkanlık dünyaya kodunuzu göstermek mümkün gösterin çünkü Bu kod ilk etapta çalışmıyor php tarafından dahil edilecektir.

Hayır çıktıya bir anlamı düzgün bir L / UAMP sunucusunu yükledim varsayarsak, ya da dışarı basılmıyor (eko, print_r, vb) ve kod cesaret, PHP işlenmiş ve mantık veya HTML olacak sayfasında, görünmeyen kullanılacaktır.

N.B. Bir dizin veya uygun. Htacess dosyasında bir 'dizin' yoksa, bir Apache sunucu indirilebilir ve incelenebilir dizindeki dosyaların bir listesini gösterir.

Bunun gerçekleşmesi için tek bir hata bir php dize, örneğin içinde bir php etiket yapıştırmak için:

$string = "This is the answer: <s><?php echo $answer; ?></s>"; 
echo $string;

Kişinin yaptığı bir Ctrl + C ve dize boyunca basılmalıdır şey Ctrl + V, ama kodlayıcı oyalama tarafından php etiketlerini kaldırmak için unuttum.