alternatief voor get_magicquotes_gpc
Hoi,
Op mijn website heb ik een gastenboek staan. Ja, ik weet het, een beetje verouderde versie en het wordt ook niet meer ge-update, maar op dit moment heb ik niets beters.
Dit wetende, bij de update van PHP 7.2 naar 7.4 loop ik tegen het volgende probleem aan:
Nu vroeg ik me af of hier een eenvoudig alternatief voor is dat hetzelfde doet.
Op mijn website heb ik een gastenboek staan. Ja, ik weet het, een beetje verouderde versie en het wordt ook niet meer ge-update, maar op dit moment heb ik niets beters.
Dit wetende, bij de update van PHP 7.2 naar 7.4 loop ik tegen het volgende probleem aan:
Quote:
function get_magic_quotes_gpc() is deprecated
Nu vroeg ik me af of hier een eenvoudig alternatief voor is dat hetzelfde doet.
Dat was toch altijd een slappe functie die meer een wassen neus was. "Waarom zou je PHP moeten laten beslissen of iets netjes geëscaped moet worden, terwijl dit soms niet nodig is? De programmeur zou het zelf moeten weten.", was de strekking van de gedachten van programmeurs.
De 'magic quotes' die automatisch quotes aan queries toevoegden zijn al in PHP 5.3.0 verdwenen, en in PHP 5.4.0 verwijderd. Die controle-functie get_magic_quotes_gpc() heeft dus ook geen nut meer.
Beste advies: Netjes op de juiste manier je invoer in je queries escapen met $mysqli->real_escape_string(..) (OO) of mysqli_real_escape_string(...) (procedureel). Of prepared statements in PDO, zolang de zeker bent van de juiste manier van gebruiken.
De 'magic quotes' die automatisch quotes aan queries toevoegden zijn al in PHP 5.3.0 verdwenen, en in PHP 5.4.0 verwijderd. Die controle-functie get_magic_quotes_gpc() heeft dus ook geen nut meer.
Beste advies: Netjes op de juiste manier je invoer in je queries escapen met $mysqli->real_escape_string(..) (OO) of mysqli_real_escape_string(...) (procedureel). Of prepared statements in PDO, zolang de zeker bent van de juiste manier van gebruiken.
Gewijzigd op 29/09/2020 12:23:10 door - Ariën -
Hopelijk wordt deze functie gebruikt om te kijken of de data eerst weer ge-un-escaped moet worden (dat wat "magic quotes" deed weer ongedaan maken). Omdat PHP 7.2 niet meer aan magic quotes doet kun je dit dus ook zelf "doorgeven" door dit ergens bovenaan in je code toe te voegen:
Ik zou ook vooral nagaan hoe deze functie werd ingezet en niet enkel de hierboven voorgestelde pleister toepassen.
magic_quotes_gpc is sinds versie 5.4.0 verwijderd, en dat was alweer terug in 2012. In termen van software is dit gastenboek dus toch een beetje een curieus fossiel.
Het enige wat ik je (met klem) zou aanraden is het gastenboek te vervangen of compleet te herschrijven met wat modernere technieken.
magic_quotes_gpc is sinds versie 5.4.0 verwijderd, en dat was alweer terug in 2012. In termen van software is dit gastenboek dus toch een beetje een curieus fossiel.
Het enige wat ik je (met klem) zou aanraden is het gastenboek te vervangen of compleet te herschrijven met wat modernere technieken.
J opla op 29/09/2020 11:48:41:
Nu vroeg ik me af of hier een eenvoudig alternatief voor is dat hetzelfde doet.
Ja dat is er, al vraag ik me af wat je er mee zou willen:
Volgens de handleiding "Returns 0 if magic_quotes_gpc is off, 1 otherwise. Or always returns FALSE as of PHP 5.4.0."
Je geeft aan dat het een upgrade betreft vanaf PHP 7.2, dus een vind/vervang door alle codebestanden voor de alternatieve functie is de meest simpele oplossing.
De functionaliteit van magic quotes in PHP was identiek aan de functie addslashes().
Als je wilt weten waarom magic quotes zijn bedacht, en waarom ze niet hun doel dienen:
- https://www.php.net/manual/en/security.magicquotes.why.php
- https://www.php.net/manual/en/security.magicquotes.whynot.php
EDIT: ik zie pas achteraf dat ik helemaal over Rob zijn post had heengelezen. Mea culpa, ik geloof dat er bij mij nog wat meer koffie in moet :)
Dank jullie voor alle tips en adviezen. Ik ga er mee aan de slag!




