SORU
19 ŞUBAT 2010, Cuma


HTTP_HOST vs SERVER_NAME

Ne zaman bir yere ve neden kullanmayı düşünür müsünüz?

CEVAP
19 ŞUBAT 2010, Cuma


HTTP_HOST HTTP request header ve bu istemci aslında "isteği. ana hedef olarak kullanılan ne elde edilir SERVER_NAME sunucu config olarak tanımlanır. Kullanmak için ihtiyacınız ne bağlıdır. Şimdi ancak bir böylece iş mantığı kullanmak için güvenilir olmayabilir istemci-kontrollü bir değer olduğunu fark etmeli ve diğer daha güvenilir olan sunucu kontrollü bir değerdir. Bununla birlikte söz konusu web sunucusu SERVER_NAME doğru yapılandırılmış olduğundan emin olmak gerekir. Örnek olarak Apache alarak, burada its documentation özü bir:

ServerName belirtilmezse, sunucu IP adresi üzerinde bir ters arama yaparak hostname anlamak için çalışır. Eğer port ** 5, sonra belirtilen sunucu gelen isteği bağlantı noktasını kullanır. Optimum güvenilirlik ve öngörülebilirlik için, açık ana bilgisayar adı ve bağlantı noktası ServerName yönergeyi kullanarak belirtmeniz gerekir.


Güncelleme: bobince's answer bir bağlantı içeren the answer of Pekka on your question kontrol ettikten sonra PHP her zaman HTTP_HOST'benim kendi aleyhinde bir SERVER_NAME, s değeri 4 PHP.dönecekti x Apache 1.2.x deneyimlerinden birkaç yıl önce üfledim biraz toz benim şimdiki ÖNCELİKLİ olarak çevre üzerinde Windows XP (Apache 2.2.1 ile PHP 5.2.8), başlatılmış, oluşturulan bir PHP sayfasına hangi parmak izleri her iki değer, oluşturulmuş bir Java testi uygulamasını kullanarak URLConnection değiştirmek için Host başlık ve testler öğretti bana bu gerçekten (yanlış) böyledir.

Sonra ilk şüphelenen PHP ve kazma bazı PHP bug reports ile ilgili konu, öğrendiğim kök sorun web sunucusu olarak kullanılan, yanlış döndü HTTP Host başlık SERVER_NAME istendi. Apache HTTPD bug reports olarak konu ile ilgili various keywords kullanarak deştim ve sonunda related bug bir buldu. Bu davranış APACHE 1.3 Apache etrafında beri kullanılmaya başlandı. İhtiyacınız ayarlayın UseCanonicalName Yönerge on <VirtualHost> giriş ServerName httpd.conf (onay uyarı dibinde the document!).

<VirtualHost *>
    ServerName example.com
    UseCanonicalName on
</VirtualHost> 

Bu benim için çalıştı.

Ama sen, SERVER_NAME daha güvenilir olduğunu özetledibağımlısunucuda config!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Cumia

    Anthony Cumi

    5 EYLÜL 2006
  • Julian Smith

    Julian Smith

    31 EKİM 2006
  • Wild Academy

    Wild Academy

    8 Aralık 2009

İLGİLİ SORU / CEVAPLAR