PHP magic_quotes postato il 27/04/2009 21:59:47 nel forum programmazione, gdrcd, open source, hosting
Non credo di violare il regolamento considerando che il bug/problema che descrivo non è attualmente presente bensì si presenterà in un (neanche troppo prossimo) futuro quando i principali servizi di hosting cominceranno ad aggiornare le loro versioni di PHP alla 6. Nel caso "creda" male fatemi un fischio.
Oggi mentre ero alle prese con dei lavori su un sito mi sono imbattuto in questo annuncio: http://it.php.net/magic_quotes ↗ che annunciava la deprecazione delle magic_quotes a partire da PHP 5.3 (attualmente in stato di RC1, la versione stabile di php attualmente distribuita è la 5.2.9) e la loro successiva rimozione nella versione 6.0.
Ma andiamo con ordine:
Cosa sono le magic quotes di php?
Le magic quotes sono una funzione disponibile su php che provvede a fare l'escape degli apici (cambiandoli da ' in ') su tutti i dati provenienti da da form (POST), variabili GET e COOKIE.
Il loro scopo principale è prevenire l'SQL injection provvedendo appunto a fare un escape automatico degli apici.
Per quale motivo le tolgono?
Da quello che ho letto in giro il motivo principale è il fatto che siano eccessivamente invasive costringendo in alcuni casi a fare stripslashes() su stripslashes() per riottenere dei dati puliti da utilizzare per esempio nelle email o nei salvataggi su file anziché su DB.
Personalmente trovo che rimuoverle non sia proprio il massimo, io mi sono sempre appoggiato alle magic_quotes per essere sicuro al 100% di avere una protezione sicura contro l'SQL injection ... ma tantè ... dopotutto capisco anche coloro che non lavorano principalmente su database e si trovano quindi a dover fare decine di stripslashes() per ottenere i dati puliti.
Cosa comporta la loro rimozione?
Ecco, qui dipende sostanzialmente dal codice in uso, molti CMS/forum dovrebbero prevedere già da soli a questo problema, per quanto riguarda i GDR (visto che di questi che ci stiamo preoccupando) i casi possono essere vari a seconda degli accorgimenti presi. Rimane il fatto che molti motori open source si appoggino alle magic_quotes senza fare controlli ulteriori.
Arrivando al punto:
PHP 6 è ancora lontano dall'essere rilasciato ed adottato, quanto al 5.3 probabilmente tutti i principali hosting preferiranno tenere abilitate le magic_quotes anche se deprecate per garantire ai propri utenti il tempo di adeguare i loro codici.
Quindi il problema è per certi versi ancora lontano dal manifestarsi, ma personalmente preferisco sempre mettermi al sicuro fin da subito in vista di problemi futuri.
Una possibile soluzione:
Considerando che molti motori per GDR sono stati scritti assumendo la presenza di magic_quotes la cosa migliore è aggiungere una funzione che faccia lo stesso lavoro di magic_quotes.
Un esempio è questo:
Pagine → 1
27/04/2009 22:07:47
ma il register_globals non doveva sparire già nella versione 5 di php??
27/04/2009 22:09:56
register _globals è stato deprecato e settato di default a Off ma è ancora disponibile su php5, questo spiega anche perchè ci siano ancora tanti gdrcd 3.0.0 in circolazione...
27/04/2009 23:58:49
Le Magic_quote fanno, da sempre, più male che bene. Non fanno l'escape di tutti i caratteri pericolosi e traggono in inganno i programmatori tonni.
Io, personalmente, ho sempre impostato le mie funzioni in modo che rimuovessero gli slash automatici dei magic_quote dopodichè passavo la stringa alla funzione mysql_real_escape_string() http://it2.php.net/manual/it/function.mysql-real-escape-string.php ↗, tuttavia questa funzione non fa l'escape del carattere % pericoloso per le query in clausole LIKE. Per ovviare a ciò uso la seguente riga di codice
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
Ynis Witrin: Razze lavate con Perlana e il Mercante in Fiera!
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
blackmines ha recensito The Coven
Nyx Insight - Project S.E.T.: Riapertura iscrizioni
New Wizarding World: Aggiunte nuove abilità e carriere!
RAID Shadow Legends: Mazzo demoniaco del destino!
Football Team Soccer → Diventa una stella del calcio! Crea, allena ed equipaggia il tuo giocatore. Unisciti a un club e vinci in Football Team Game!
Harry Potter Magic World: Cerimonia di fine A.A. 2024-25 ad Hogwarts
The Coven: La Blackmore Academy ha aperto i cancelli
Felix Felicis GdR - Harry Potter GdR: Il Prezzo dell'Onore - il caos
blancks ha risposto alla discussione: Gothik Web RPG Community 1.0 Alpha
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, inizia l'avventura!
Sea of Conquest: Nuovo eroe Sylvia Thorne! 🌿
Il gestore di Storie di Agarthi ha risposto alla recensione di plasticblue
Seconda Era - Le Terre Libere: Rinnovo Server
Ex Gratia GDR: Allarmanti notizie dalla città di Taiyang!
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
Lancio Dadi - Play by Forum e Lancio di Dadi.. la soluzione integrata dei principali circuiti!
Oroscopo 2017 - L'oroscopo 2017 dei vostri alter-ego nei giochi di ruolo online!
Il Futuro dei Gdr - Quale futuro per i gdr online? Dati alla mano lo scopriamo assieme..
Saint or Sinners - Intervista allo staff di Saint or Sinner? - Los Angeles, play by chat moderno ambientato a Los Angeles!
Dipendenze Patologiche - "Giochi di Ruolo e dipendenze patologiche" pubblicato dal Centro Studi Farmaco-tossicodipendenze. Un articolo davvero folle da scaricare!
Puerto Dorado - Intervista ai gestori del gdr storico Puerto Dorado
Tip4Serv - Tip4Serv: il sistema di donazioni specifico per i giochi online!
Naruto x Boruto - Intervista allo staff del play by chat Naruto x Boruto GDR - New Rebirth!