Ciao a tutti,
sperando di essere nella sezione giusta vorrei chiedervi una cosa:
ho un database mysql con un cartella chiamata 'file' . In questa cartella devo permettere all'utente di fare query di ricerca tramite query sql.
Per esempio:
l'utente può:
select * from file where nome like 'prova'
ecc..
l'utente non può fare:
insert, update, delete. Può solo leggere il contenuto della cartella file e non può modificare nulla.
dato che ricevo una stringa con la query come posso fare un controllo sicuro in modo da verificare che effettivamente guardi solo la cartella file e che non modifichi nulla?
Ho provato ma ho trovato i segentu problemi:
-" e ' vanno mantenuti altrimenti una query tipo select * from file where nome = \"ciao\" non funziona. Quindi è a riscio mysql injection?
-Ho provato a fare un str_replace delle parole tipo insert, update, delete. Ma cancella anche magari il nome del file, come in questo esempio:
select * from file where nome="insert" -> select * from file where ""
Avete qualche idea?
stavo pensando di creare un utente mysql apposito con soli dirtti di lettura per una quella cartella.. è una buona idea?
grazie

Rispondi quotando
