Ragazzi ho bisogno proprio di una mano....
ne è passato di tempo da quando ho tirato sul il mio forum
e non ho mai avuto un problema....solo da qualche tempo sembro attirar
l'attenzione di qualcuno che non ha niente da fare e così devo correre ai ripari
contro l'sql_injection
Ora premesso che uso i'ipb forum su mysql e che a quanto ho capito devo inserire questa stringa laddove il forum si interfaccia con il database chiedevo....
qual'è l'esatta sintassi di "mysql_escape_string" ? per favore fatemi un esempio reale senza riportare quelle del manuale che fa esempi a me sconosciuti
In quali files php devo inserire questa stringa? in tutti.....solo in alcuni e se si quali?
Non conosco bene tale forum, ma dovresti prendere il file che contiene la funzione mysql_query (guarda nei file inclusi, che contengano la parola function o mysql o database, ecc.).
La funzione di cui parli, praticamente, si applica a qualunque stringa passata come argomento nelle query (mysql_query()).
Esempio:
mysql_query("SELECT * FROM tabella WHERE nome='".mysql_escape_string($stringa)."');
dove $stringa è una variabile in genere proveniente da un form (login, ricerca, registrazione, ecc.) che, come vedi è passata alla query sql.
Innanzitutto grazie per la super rapida risposta
in pratica cerco in tutti i file php la voce mysql_query e aggiungo prima della stringa mysql_escape_string ?
Nel tuo esempio
mysql_query("SELECT * FROM tabella WHERE nome='".mysql_escape_string($stringa)."');
se la stringa è $login io scriverò:
mysql_query("SELECT * FROM tabella WHERE nome='".mysql_escape_string($login)."'); ?
scusa se faccio questi esempi bislacchi ma ho bisogno di un esempio concreto per non compiere sciocchezze
ps c'è un modo rapido per vedere quali sono tutte le mysql_query?
esempio nell'index.php ho trovato questo:
$DB->query("SELECT t.*, f.topic_mm_id, f.name as forum_name, f.quick_reply, f.id as forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html,
f.start_perms, f.allow_poll, f.password, f.posts as forum_posts, f.topics as forum_topics, f.upload_perms,
f.show_rules, f.rules_text, f.rules_title,
c.name as cat_name, c.id as cat_id
FROM ibf_topics t, ibf_forums f , ibf_categories c
WHERE t.tid=".$ibforums->input['t']." and f.id = t.forum_id and f.category=c.id");
lo dovrei modificare alla fine in:
WHERE t.id='".mysql_escape_string($ibforums->input['t']." and f.id = t.forum_id and f.category=c.id"); ?
Ultima modifica di aggressor : 13-01-2007 alle ore 01.40.17