alternatief voor get_magicquotes_gpc

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J opla

j opla

29/09/2020 11:48:41
Quote Anchor link
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:
Quote:
function get_magic_quotes_gpc() is deprecated


Nu vroeg ik me af of hier een eenvoudig alternatief voor is dat hetzelfde doet.
 
PHP hulp

PHP hulp

02/11/2024 07:09:04
 
- Ariën  -
Beheerder

- Ariën -

29/09/2020 12:17:18
Quote Anchor link
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.
Gewijzigd op 29/09/2020 12:23:10 door - Ariën -
 
Rob Doemaarwat

Rob Doemaarwat

29/09/2020 12:54:49
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
function get_magic_quotes_gpc(){
  return false; //magic quotes not enabled
}
 
Thomas van den Heuvel

Thomas van den Heuvel

29/09/2020 22:28:52
Quote Anchor link
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.
 

30/09/2020 10:04:25
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
function get_magic_quotes_gpc_alternatief() : bool {return FALSE;}
?>


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 :)
Gewijzigd op 30/09/2020 10:12:25 door
 
J opla

j opla

30/09/2020 21:07:19
Quote Anchor link
Dank jullie voor alle tips en adviezen. Ik ga er mee aan de slag!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.