stringhe: sicurezza

  • Creatore Discussione Creatore Discussione Filoz
  • Data di inizio Data di inizio

Filoz

Nuovo Utente
6 Feb 2007
12
0
0
38
www.equiweb.it
ciauz a tutti... sono nuovo di questo forum... facendo la ricerca non sono riuscito a trovare nessuna discussione che risolvesse il mio problema... sto cercando di creare una funzione che mi permetta di formattare una stringa in modo che non mi dia problemi... solo che nn riesco a capre che funzioni usare...
ho distinto 5 casi...

1) dati ricevuti da FORM e devono essere messi ne DATABASE
2) dati ricevuti da FORM e devono essere MOSTRATI A SCHERMO in un altra pagina
3) dati ricevuti da FORM e devono essere utilizzati come condizione WHERE in una QUERY
4) dati ricevuti da DATABASE che devono essere MOSTRATI A SCHERMO
5) dati riecvuti da DATABASE che devono essere inseriti in un altro DATABASE

qualcuno sa che funzioni è necessario usare in ognuno di questi casi?

vi ringrazio davvero per l'aiuto...e complimenti per il sito!
 
Se prevedi che le stringhe siano essenzialmente alfanumeriche, puoi controllare attraverso una semplice espressione regolare:
PHP:
if(preg_match("/^[a-z0-9]+$/i",$dato))
{
echo $dato;
}else{
echo 'dato non valido';
}

Dovrebbe bastare :byebye:
 
hmmm...capito...
però se ad esempio l'utente inserisse una parola apostrofata il controllo con le regular expression darebbe errore...

io cercavo qualcosa che mi permettesse di fomattare il testo inserito dall'utente in modo che non mi possa dare problemi...qualunque esso sia...

ciauz e grazie cmq per l'aiuto!
 
hmmm...capito...
però se ad esempio l'utente inserisse una parola apostrofata il controllo con le regular expression darebbe errore...

io cercavo qualcosa che mi permettesse di fomattare il testo inserito dall'utente in modo che non mi possa dare problemi...qualunque esso sia...

ciauz e grazie cmq per l'aiuto!

allora può andare bene così:
PHP:
trim(strip_tags(addslashes($dato)))
:byebye:
 
ti rignrazio davvero per l'aiuto... posso farti un altra domanda... o meglio...più che una domanda è un consiglio...

ho un dubbio... è meglio creare tutte le taelle al'interno dello stesso database... oppure creare + database in modo da ordinare meglio i contenuti?
ti spiego la mia situazione...
ho tutte le tabelle del mio sito sullo stesso database con le tabelle del forum... questo perchè in molte pagine utilizzo il join per recuperare valori da + tabelle insieme... e nn saprei farlo se nn fossero sullo stesso database...(dovrei creare select distinte)
conviene separare i due database e utilizzare du query diverse...oppure può essere accettabbile anche così?
in termini di performance... conviene di più avere un database unico e dunque una sola connessione al db e una sola query...
o due databassetabelle (maggior ordine), ma utilizzare due connessioni al db e ogni volta dover fare due query distinte?


ciauzzz e grazie per l'aiuto
 
Anche se parliamo di un consumo di risorse che ormai è tranquillamente sopportato dai più comuni hosting PHP+MySQL in circolazione (poi bisogna vedere che traffico generi), query distinte su più database comportano un maggior impiego di risorse.
Si pensi per esempio al solo processo di selezione dei db che in questo caso sarebbe doppio ad ogni chiamata.

:byebye:
 

Discussioni simili