select * from tabella where nome like '%%%' and regione like '%basilicata%'
and notes like '%%%' order by nome asc LIMIT 0, 10
php me la trasforma mettendo i back slash davanti agli apici...
qualcuno ha gia risolto la questione?
ringrazio anticipatamente
M@stro
stripslashes($stringaSQL);
ciao
corrado
> php me la trasforma mettendo i back slash davanti agli apici...
Usa la funzione:
stripslashes()
sintassi:
$stinga_senza_slash = stripslashes($stinga_con_slash);
Si', usando le funzioni StripSlashes() e AddSlashes().
Inoltre, che succede se, ipoteticamente, io prendo la tua pagina sul
mio browser, modifico il tuo campo hidden in
DELETE FROM tabella
e poi, dopo averla ricaricata, premo "Invio"?
Leonardo maičutico
--
Nior thainig ar major i dtus an lae chugainn,
is ni rabhamar fein ann i gcoir na gceart
ach mar sheolfai aoireacht bo gan aoire,
ar thaobh na greine de Sliabh na mBan.
> Inoltre, che succede se, ipoteticamente, io prendo la tua pagina sul
> mio browser, modifico il tuo campo hidden in
>
> DELETE FROM tabella
>
> e poi, dopo averla ricaricata, premo "Invio"?
credo che se si impostano i diritti sul database in modo che possa accettare
solo
connessioni da localhost non ci dovrebbero essere problemi...
cmq se qualcuno ne sa di piu continui...:-)
grazie ancora!
M@stro
>> Inoltre, che succede se, ipoteticamente, io prendo la tua pagina sul
>> mio browser, modifico il tuo campo hidden in
>> DELETE FROM tabella
>> e poi, dopo averla ricaricata, premo "Invio"?
>credo che se si impostano i diritti sul database in modo che possa accettare
>solo connessioni da localhost non ci dovrebbero essere problemi...
<confidenza>
La frase "non ci dovrebbero essere problemi", insieme alle compagne "non
puo' succedere" e "firewall", sono un campanello d'allarme che ci indica
di trovarci di fronte ad un sys-admin ottimista; "standard di mercato" e
"facile da configurare", ad un sys-admin incompetente.
Per evitare di sentire in seguito le frasi: "non capisco come sia potuto
accadere", "non avrebbe dovuto succedere", ed "almeno, non ha sofferto",
la mia raccomandazione e' di NON avvalersi dei servigi di costoro.
(L. Serni, "New Economy Survival Kit per Bastardoni", Keplero Hall 1998)
</confidenza>
Tornando seri: dici di connettersi solo da localhost.
Ma in questo caso non avrebbe senso il campo HIDDEN in primo luogo, no?
Se proprio DEVI, ti conviene filtrare il campo con eregi():
// Molto, forse troppo, semplice
$ALLOWED = "SELECT ([a-z0-9, ]*) FROM ([A-Za-z0-9, ]*) WHERE
([^;]*);";
if (!eregi($QUERY, $ALLOWED, $campi))
{
// AAAGGGHHH
/*
Segnalare l'accaduto, loggare IP, HTTP_REFERER e tutto
il resto, inviare una falsa pagina di errore indicante
che non ci siamo potuti connettere al DNS "ADMIN", sul
server database 198.81.135.177, user "TABUN", password
"militia666".
*** CHILDREN, DO #NOT!# DO THIS AT HOME ***
*/
}
else
{
$SQLQuery = "SELECT $campi[1] FROM $campi[2] WHERE
$campi[3];";
$exec = SQLExec($conn, $SQLQuery);
...
}
Leonardo
> > Inoltre, che succede se, ipoteticamente, io prendo
> > la tua pagina sul mio browser, modifico il tuo campo
> > hidden in
> >
> > DELETE FROM tabella
> >
> > e poi, dopo averla ricaricata, premo "Invio"?
> credo che se si impostano i diritti sul database in modo che
> possa accettare solo connessioni da localhost non ci dovrebbero
> essere problemi...
La form viene processata dal tuo script, ed il tuo
script e' su localhost ...
ma devi poter salvare il file php sul mio server...
o no?
M@stro
sorry
La stringa ke manda php e' corretta (se deve essere elaborata dal server sql). Infatti, nelle query bisogna mettere \ prtima di " o ' .(i.e. like \" % \" e' corretto).
Spero di aver capito la domanda:)
Effettuare il post di qualunque cosa ad uno script che
accetti il submit di dati via post e' uno spoofing
banale.
Tu hai detto che la query e' in un campo hidden.
Dunque fare eseguire al tuo script una query e' semplice.
Nel piu' banale dei casi, considera lo script:
<?
/* script pippo.php */
echo "Ecco X: $X";
?>
Esso stampera' il valore di X:
se e' passato tramite form metodo POST
se e' passato tramite form metodo GET
richiamando direttamente lo script con "pippo.php?X=valore".
Quindi, OCCHIO!
scusate, ero io che non capivo quello che volevate dire....
chiedo venia,
si ok cmq il file serviva per la lan interna, lo so che non è una soluzione
professionale,
ma non essendo un genio di php era l'unico modo per fare la paginazione
della visualizzazione di un db...
grazie... lo stesso
M@stro
in ogni caso con mysql è possibile limitare i permessi dello script.php
tramite lutilizzo di specifiche nome e password....
giusto?
Certo, ma quella di passare una query in un campo resta
sempre una cosa molto pericolosa. Normalmente le si usa
a scopo dimostrativo: "ecco cosa NON fare".