13 ay sonra kendi sorumu tekrar gözden geçirmek istedim. O zamanlar IIS 6'dan IIS 7.5'e yarım düzine web sitesi aktardım ve tercih ettiğim yöntemle yapılandırdım. Söyleyebileceğim tek şey, web sitelerinin çalıştığı, herhangi bir güvenlik sorunu yaşamadıkları (bunlar popüler siteler değil) ve bence kurulum learn.iis.net'in önerdiğinden daha güvenli.
Posterity için, ilgili ayarlar. PHP INI'de:
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 0
IIS'de:
- Uygulama Havuzu> Kimlik> ApplicationPoolIdentity
- Web sitesi> Kimlik Doğrulama> Anonim Kimlik Doğrulama> Belirli Kullanıcı: IUSR
NTFS izinleri ve bunların nereye uygulanacağı:
- IUSR - Hibe Okuma, Yazmayı Reddet
- IIS web sitesinin kök dizini. Örneğin, bir Zend Framework projesinde bu / public dizini olur.
- Uygulamanız dosyaları yüklüyor ve genel bir dizine kaydediyorsa, bu izni geçici yükleme dizinine uygulamanız gerekir. Bunun nedeni
move_uploaded_file
, yükleme dizininin izinlerini koruyacağıdır. Bulduğum bu izin kurulumunun en büyük dezavantajı bu.
- ApplicationPoolIdentity (
IIS AppPool\<<YourApplicationPoolName>>
) - Okuma ve Liste Verme
- PHP uygulamanızın kökü. Örneğin, bir Zend Framework projesinde bu tüm projedir.
- Uygulamanız tarafından dahil edilen ve uygulama klasöründe olmayan tüm harici kütüphaneler (Zend, Doctrine vb.)
- ApplicationPoolIdentity - Değişiklik Ver
- Başvurunuz gibi yazacak hiçbir yer
upload_tmp_dir
, session.save_path
ve error_log
.
- Bazen bu izni, Doctrine'in vekil sunucu oluşturma gibi şeyleri desteklemek için geliştirme ortamımdaki PHP uygulamasının kök dizinine eklemem gerekir .
- ApplicationPoolIdentity - Hibe Listesi
- Uygulamanız sanal bir dizindeyse, bu izni web sitesinin kök dizinine eklemeniz gerekir. Bu, uygulamanızın üst web.config dosyasını okumasına izin verir. Örneğin, uygulama kökünüz http://example.com/MyPHPApp ise , bu izni example.com web dizininde ayarlayın. Özellikle sadece "Bu klasör ve dosyalar", "yalnızca bu kapsayıcı içinde" başvurmanız gerekir.
Umarım bu learn.iis.net talimatlarının ideal olmadığına karar veren herkese yardımcı olur.