PHP 'allow_url_fopen' Ben izin mıyım?

5 Cevap php

Bizim sunucu üzerinde etkin olması için 'allow_url_fopen' soran geliştiriciler bir çift var. Ne norm bu gün var ve libcurl etkinse izin vermek için herhangi iyi bir nedeni gerçekten var mı?

Çevre: Windows 2003, PHP 5.2.6, FastCGI

5 Cevap

Kesinlikle allow_url_fopen riskleri pek de azaltır Kapalı olarak allow_url_include seti istiyorum.

PHP değil tüm sürümleri allow_url_include çünkü Ama, birçok kişi için en iyi uygulama fopen kapatmak için. Tüm özellikleri olduğu gibi, gerçeklik sizin uygulamanız için ihtiyacınız yoksa, onu devre dışı olmasıdır. Eğer ihtiyacınız yoksa, kıvırmak modül muhtemelen daha iyi yapabilirim, ve allow_url_fopen devre dışı bırakmak için curl kullanmak için uygulama üstlenmeden az belirlenebilir sabotajcı caydırmak olabilir.

Ben cevap size sorumlu özelliğini kullanmak için geliştiriciler güven ne kadar iyi aşağı gelir mi? Harici bir URL'den veri diğer güvenilmeyen girişi gibi tedavi edilmelidir ve sürece anlaşılmaktadır gibi, büyük bir anlaşma nedir?

Onu görmek yolu çocuklar gibi geliştiriciler tedavi ve onları keskin şeyleri halledeyim asla eğer, o zaman güvenli kod yazma sorumluluğunu öğrenmek asla geliştiriciler gerekir olduğunu.

Cross-site scripting saldırıları bir ağrı vardır, böylece karşı oy. Ve kesinlikle "allow_url_include" kapalı olarak ayarlanmış olması gerekir, ya da acı bir dünya için de olacak.

Bu gelişme türüne bağlıdır. Lütfen prototipleme ardından 'allow_url_fopen' sağlayan ince ise ancak libcurl ve file_get_contents ve etkinleştirme arasında anlamlı bir hız farkı kolaylık sadece bir meselesi yoktur değildir.

Üretim sunucuları için libcurl için herhangi bir çağrı, bir güvenlik denetimi bayraklı olmalıdır. 'Allow_url_fopen' etkinse fopen ve file_get_contents gerektiği gibi. 'Allow_url_fopen' devre dışı bırakılması sadece biraz onlar yapılabilir yollar sayısını sınırlar patlatır engellemez.

Büyük sorun curl kullanarak bir url dosya kaydetmek istiyorsanız allow_url_fopen is not more secured, bu nedenle, dosyayı kaydetmek için fopen / file_get geçmelidir olmasıdır.

  • CURL is only good to retrieve remote content from URL. (allow_url_fopen not necessary)
  • CURL must be added with Fopen or File_get if you want to save remote file to your server. (allow_url_fopen obligatory with CURL)

Php daha güvenli hale getirmek için başka yollar bulmak gerekir.