Convalida dati form & risultati query

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
manca il !
PHP:
 if (!get_magic_quotes_gpc())
        $data = stripslashes($data);
se NON è attivo allora metti lo slash

cmq non mi viene in mente altro che potresti aggiungere
forse sono anche troppi, nel senso che se ti aspetti un numero basterebbe verificare se è un intero con (int)
PHP:
$numero = (int) $_GET['numero'];
Per la paginazione dei risultati prova a vedere se riesci a prendere spunto da questo post
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
criric: era giusto così. Se le magic quotes erano attivate allora toglieva gli slash già inseriti da PHP, quindi ne aggiungeva altri.

Piuttosto direi che la funzione può essere migliorata così:
PHP:
function filter($data, $trim = true, $sanitize = true)
{
    $data = $sanitize ? filter_var($data, FILTER_SANITIZE_STRING) : $data;
    $data = $trim ? trim($data) : $data;
    $data = !get_magic_quotes_gpc() ? mysql_real_escape_string($data) : $data;

    return $data;
}
Ho aggiunto i parametri perché ci sono delle situazioni in cui non vuoi alterare la stringa (tranne i controlli per le SQL injection), per esempio in caso l'utente inserisca una password contenente spazi all'inizio o alla fine, oppure caratteri speciali che sarebbero eliminati da filter_var.
In questo caso non dovrebbe neanche essere necessario usare la funzione filter, tanto che la password è criptata e quindi non può costituire un pericolo per il database.

Tuttavia funzioni del genere sono inutili quando PHP offre librerie come PDO che mettono a disposizione le prepared statement. mysql è di fatto deprecata e il suo utilizzo in applicazioni di nuova generazione è fortemente sconsigliato.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
Tuttavia funzioni del genere sono inutili quando PHP offre librerie come PDO che mettono a disposizione le prepared statement. mysql è di fatto deprecata e il suo utilizzo in applicazioni di nuova generazione è fortemente sconsigliato.
hai ragione, ma con un piccolo ma.
ci sono alcuni provider (e anche famosi) che non hanno le pdo attive, quindi devi usare le vecchie query
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Se le magic quotes erano attivate allora toglieva gli slash già inseriti da PHP
VERO! non so perche ma ero convinto che ci fosse scritto addslashes() nella codnizione
 
Discussioni simili
Autore Titolo Forum Risposte Data
J Scritp invio email convalida indirizzo PHP 13
M Convalida form in presenza di link Classic ASP 1
Frank10 Convalida w3c problema con i plug in facebook HTML e CSS 4
novello88 Problema convalida W3C pagina HTML5 HTML e CSS 8
M Problema convalida checkbox Javascript 0
SolidSnake4 regex convalida mail PHP 15
C convalida email Flash 2
F problema con convalida form e checkbox Javascript 1
P javascript convalida in tempo reale... Javascript 4
T Problema Modulo - Campo Convalida e JS Javascript 2
L convalida w3c di un file .asp HTML e CSS 1
max75 query su due tabelle e dati doppioni MS Access 2
K Form che manda dati doppi PHP 1
T problemi con dati menu a tendina HTML e CSS 2
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
V dati scomparsi dal sito HTML e CSS 3
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
A Stampare dati da form PHP 8
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0
otto9due $_FILE non passa i dati dal form PHP 1
N dati tabella non presi PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2

Discussioni simili