$_SERVER['HTTP_HOST'] PHP _SERVER vs $['SERVER_NAME'], am man sayfaları ben doğru anlamak mı?
Arama yaptım ve ayrıca $_SERVER PHP man sayfasını okuyun. Bu doğru basit bir bağlantı tanımlar benim site genelinde kullanılan için benim PHP komut dosyaları için kullanılacak olan ilişkin var mı?
$_SERVER['SERVER_NAME']
Temel web sunucusu yapılandırma dosyası (Apache2 benim durumumda) ve ayarlarına bağlı olarak değişir birkaç yönergeleri: (1) Test, (2) ServerName, (3) UseCanonicalName, vb.
$_SERVER['HTTP_HOST']
istemciden istek üzerine kuruludur.
Bu nedenle, benim komut mümkün olduğunca uyumlu hale getirmek için kullanmak için uygun $_SERVER['HTTP_HOST']
olacağını bana görünüyor. Bu varsayım doğru mu?
İzlemek yorum:
Bu makaleyi okuduktan ve bazı insanların söylediği belirterek, sonra biraz paranoyak oldum "$_SERVER vars herhangi güvenemezler":
http://markjaquith.wordpress.com/2009/09/21/php-server-vars-not-safe-in-forms-or-links/
http://php.net/manual/en/reserved.variables.server.php#89567 (yorum: Vladimir 14-Mar-2009 01:06) Kornea
Görünüşe göre bu tartışma eylem olmadan XSS saldırıları önlemek için kaçan özniteliği formunda özellikle kullanmamalısın neden $_SERVER['PHP_SELF']
ve ilgili.
Benim asıl sorum hakkında sonucum yukarıdaki" formlarda bile XSS saldırıları hakkında endişelenmenize gerek kalmadan bir site üzerinde tüm bağlantılar için $_SERVER['HTTP_HOST']
kullanmak için "güvenli olmasıdır
Eğer yanılıyorsam beni Düzelt lütfen.
CEVAP
Muhtemelen herkesin ilk düşünce. Ama biraz daha zor. Chris Shiflett’s article SERVER_NAME
Versus HTTP_HOST
bkz.
Gümüş kurşun yok gibi görünüyor. 13 ** her zaman SERVER_NAME
doğru sunucu adını alacak.
Ya git ya da ev sahibi kontrol beyaz listesiyle adı:
$allowed_hosts = array('foo.example.com', 'bar.example.com');
if (!isset($_SERVER['HTTP_HOST']) || !in_array($_SERVER['HTTP_HOST'], $allowed_hosts)) {
header($_SERVER['SERVER_PROTOCOL'].' 400 Bad Request');
exit;
}
$_SERVER PHP mu?...
Sen'yeniden kullanmadan HTTPS $_S...
HTTP_HOST vs SERVER_NAME...
$_SERVER değişkenleri güvenli mi?hangi...
Nasıl $_SERVER sahte['REMOTE_ADDR...