IIS7 nu permite folosirea semnului + în URL

Unul din clienții care-și actualizează în mod consecvent serverele și sitemele ori de câte ori cei de la Microsoft scot un bnou sistem de operare a dorit să-și mute aplicațiile PHP de pe mașina cu Windows 2003 pe un server nou-nouț cu Windows 2008…

Toate bune și frumoase, am transpirat puțin până ce am găsit dll-urile necesare conexiunii la baza de date SQL 2008, am modificat și pus la loc regulile de rescriere…. când a apărut surpriza… Nici una din paginile care conțineau spații în titlu nu se încărcau și vărsau pe tot ecranul o pagină cu oroarea 404.11 – “The request filtering module is configured to deny a request that contains a double escape sequence.”

iis_error

După înjurăturile de rigoare și căutări pe internet, am aflat că este un comportament normal din partea IIS să respingă orice adresă care are în componență “+”, pentru că așa se protejează ei de hacărul cel rău și, bineînțeles, nu trebuie să folosești spații în adresa paginii pentru a fii protejat.

Din fericire, există însă o portiță prin care (pentru aplicațiile vechi și nesigure) se mai poate permite folosirea + în adresă și asta se face rulând într-un cmd (pornit ca administrator) următoarea comandă:

%windir%\system32\inetsrv\appcmd set config “Default Web Site” -section:system.webServer/security/requestfiltering -allowDoubleEscaping:true

unde “Default Web Site” se înlocuiește cu numele site-ului din IIS.

Nu știu dacă are neapărat legătură, dar pentru ca totul să funcționeze și IIS-ul să-mi vadă toate resursele PHP, a fost nevoie să dau din nou drepturi utilizatorilor IIS asurpra fișierelor PHP și după încă o bere și încă o tonă de dedicații legate de morții și răniții făcute celui care a avut această idee genială… am reușit să-mi văd liniștit de salata mea.

 

 


Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© Alex. Burlacu