• PHP

    • Geplaatst op 1 november 2013 11:08, gewijzigd op 5 november 2013 01:26

      PHP5.3 heeft een module voor magic quotes die apostrofs en aanhalingstekens automatisch escaped als die via GET, POST of REQUEST uit een formulier worden gehaald. Als je in een invoerveld een aanhalingsteken " invoert en weer echoed naar het beeldscherm, dan verschijnt daar vrolijk \" zonder dat je daar om gevraagd had. Dat zijn magic quotes in PHP.

      Magic quotes is waarschijnlijk bedoeld om gebruikersinvoer goed op het beeldscherm te zetten in HTML. Verder zou het XSS (cross site scripting) tegen kunnen gaan. Echter als je de data juist niet in HTML wilt hebben dan is het een ongelooflijk irritant ding. Daar komt dan nog bij dat het een instelling op systeemniveau is en niet op runtimeniveau, wat maakt dat je het in je script niet kunt uitzetten maar alleen op de server.

      Maar aangezien je niet altijd je serverinstellingen kunt wijzigen is er gelukkig ook een andere manier: dmv een opdrachtregel in .htaccess. Voeg de volgende regel toe aan .htaccess en de magic quotes zijn even miraculeus verdwenen als dat ze kwamen.

      php_flag magic_quotes_gpc Off

      Bron: PHP Net

  • Zoeken