- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Passaggio da mysql 4 a 5! Apici maledetti
-
Passaggio da mysql 4 a 5! Apici maledetti
Ho trasferito un sito da un server con mysql 4.0.24 a mysql 5.0.22.
Nel vecchio server se io passavo in una query una variabile con apice lo slash veniva messo automaticamente. Per esempio passando con GET o POST la variabile citta con valore L'aquila l'istruzione:
[PHP]mysql_query("SELECT * FROM utente WHERE citta='$citta'");[/PHP]
funzionava correttamente
Nel nuovo server invece lo slash non viene messo automaticamente e quindi non funziona.
Considerando che questa mi sembra un peggioramento della sicurezza perchè permette una banale SQL Injection non è che stato configurato male il mysql?
PS So che posso risolvere aggiungendo un addslashes alle query, ma non posso mettere le mani a migliaia di query, soprattutto se la cosa può essere risolta a livello server.
-
Non dipende dalla versione di mysql, ma dalle impostazioni del server
se hai accesso al php.ini imposta magic_quotes_gpc su ON
-
Grande, se passi da Sondrio hai una cena pagata!!
-
vedi che ho il vizio di mangiare molto non sò se ti conviene
-
@scar81 said:
Ho trasferito un sito da un server con mysql 4.0.24 a mysql 5.0.22.
Nel vecchio server se io passavo in una query una variabile con apice lo slash veniva messo automaticamente. Per esempio passando con GET o POST la variabile citta con valore L'aquila l'istruzione:
[php]mysql_query("SELECT * FROM utente WHERE citta='$citta'");[/php]funzionava correttamente
Nel nuovo server invece lo slash non viene messo automaticamente e quindi non funziona.
Considerando che questa mi sembra un peggioramento della sicurezza perchè permette una banale SQL Injection non è che stato configurato male il mysql?
PS So che posso risolvere aggiungendo un addslashes alle query, ma non posso mettere le mani a migliaia di query, soprattutto se la cosa può essere risolta a livello server.una soluzione migliore sarebbe qualkosa del tipo:
if (!get_magic_quotes_gpc()) { $citta = addslashes($citta); }