Cum am învins ghilimele magice

citate Magic (magic_quotes) - Versiuni PHP opționale 4 și 5. În a doua versiune a ghilimelele magice mai, dezvoltatorii PHP au descoperit că pagubele provocate de citate magice depaseste beneficiul de la ei. Beneficiu a fost de a proteja baza de date de la așa-numita SQL-injectare. Manifestarea vizibilă a citate magice - un băț (backslash), care apare înainte de un singur citat, citat dublu, backslash, script-ul de pe serverul de luat în matrice $ _GET, $ _POST, $ _COOKIE transmise de textul browser-ului (care au fost simbolurile) .







Deoarece pe forum - un instrument pentru schimbul de text rapoarte (mai ales), este clar că citate magice, în cazul în care nu pune în pericol funcționarea pe forum, în general, mai pot face o urîțenie voinic. Dacă vom scrie motorul pe forum, mai ales pentru forum, fără utilizarea bazelor de date (care este, pericolul de SQL-injecție nu este prezent), cu citate magice ar trebui să facem ceva.







Metodele de combatere a citatelor magice oferite de Internet, care constau în schimbarea setărilor PHP, nu sunt potrivite pentru sarcina noastră, din cauză că nu sunt cross-server. Accesul la setările PHP pe un număr de servere poate fi închis și avem nevoie de o soluție care să funcționeze peste tot și întotdeauna. Simplu, fiabil, complet cross-server de mod de a face cu citate magice vor trimite forme de câmpuri ascunse cu valorile corespunzătoare. Primirea de date de php-script, în funcție de valorile acestor câmpuri ascunse, va determina cu ușurință prezența de backslash-uri inutile în textul mesajului. Taie-le, la detectare, nu va fi dificil.

Forme de câmpuri ascunse:

Handler-ul din scriptul php de primire:

Nu există șanse să supraviețuiți cu citate magice.

Ironetcart







Articole similare

Trimiteți-le prietenilor: