ancora gli apici

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per programmatore:
io so cosa trovo digitando $_POST, trovo questo

$_POST
$HTTP_POST_VARS [deprecated]
$_POST -- $HTTP_POST_VARS [deprecated] — HTTP POST variables

per trogo
si metti d'accordo, in un certo senso è quello che dicevo io
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao, divulgatore di foto non autorizzate:D
l'ho messo qui perche ritenevo che si trattase di una discussione più filosofika che proprio di php e avevamo iniziato la discussione in un post di un altro (intasandolo), la discussione era iniziata in riferimento al fatto di mettere apici a:

mysql_query("UPDATE ........ WHERE id='$id'");
oppure no, ecc....
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Riguardo a $_POST e $HTTP_POST_VARS.

E' proprio vero che sono contorto, credevo che il consiglio di programmatore a borgo fosse una sorta di "presa in giro", dicendo di usare una variabile deprecata dato che usa gli apici, ritenuti deprecati anche questi, con i valori numerici nelle query.

Mi sa che son da ricovero.... :hammer:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao trogo
Mi sa che son da ricovero....
con quello che costa:D è meglio evitare.

comunque come detto sono "parzialmente" d'accordo con te, parzialmente in quanto anche se deprecati gli apici non sono un errore (forse un orrore)

mi piacerebbe sentire il parere anche di qualcun'altro
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Infatti, ma il mio ricovero sarebbe in un birrificio come "garante della qualità" e "primo assaggiatore" :beer:

Mi sembra che nei post precedenti a riguardo nessuno abbia mai detto che sia un errore, come non è un errore usare $HTTP_POST_VARS invece di $_POST.

Solo sarebbe buona norma evitare di farlo, almeno a mio avviso.

Ma anche a me piacerebbe sentire altre voci a riguardo, anche se come argomento è magari un po' "filosofico".
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Per quanto riguarda l'utilizzo di variabili o funzioni deprecate credo sia ben più che una buona norma il non utilizzarle. Anche se il loro utilizzo può essere considerato un errore vero e proprio, così facendo ci si vincola inevitabilmente ad una determinata versione di PHP, nel nostro caso, in quanto tali funzioni non saranno più supportate nelle release successive e ciò comporta modifiche al codice in caso di migrazione ad una versione più recente dell'interprete.
Io personalmente considero estremamente errato l'utilizzo di funzionalità deprecate.
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Vabbè, allora continuiamo.

1) Il typecasting viene fatto da MySQL e non da PHP. Per PHP la query è tutta una stringa, non se ne occupa minimamente. Se l'esempio fosse stato trovato sulla documentazione ufficiale di MySQL, avrei inviato una mail dicendo di correggere l'esempio dato che potrebbe essere fuorviante.

2) Per il semplice fatto che un campo si chiami "id" non è assolutamente detto che nella tabella corrisponda ad un campo numerico. Potrebbe benissimo essere una stringa, dato che nella query si usano gli apici per contornare il valore.

3) Potrei anche capire se mi dici di voler usare gli apici per "proteggere" alcune query da un SQL Injection, anche se io preferisco altri controlli per la validazione dell'input utente.
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Riguardo all' SQL Injection non avevo un esempio sottomano, ma poi l'ho trovato. Provate questo http://www.sinfonica.com/english/per_id.php?id=221.

E' evidente che il parametro passato viene poi usato per effettuare la query. Adesso vediamo se chi ha programmato questo sito valida l'input utente. Proviamo ad aggiungere al link questo: "%20AND%201=0" (senza le virgolette), ottenendo questo http://www.sinfonica.com/english/per_id.php?id=221 AND 1=0.

Direi che la validazione non c'è.... In un caso come questo, l'uso degli apici avrebbe potuto impedire il nostro giochetto.

Differenza tra le query ipotizzate:

SELECT * FROM books WHERE id = $_GET['id']

con i nostri parametri diventa:

SELECT * FROM books WHERE id = 221 AND 1=0

che non ritorna nessun libro.

Se avesse usato gli apici:

SELECT * FROM books WHERE id = '221 AND 1=0'

Che avrebbe funzionato a dovere.

P.S. Ho mandato un avviso al gestore del sito per avvisarlo del problema. Se effettuerete i test è possibile che non siano più funzionanti.
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
D [WordPress] Link eliminati ancora presenti nel database, è possibile? WordPress 0
L Quanto durerà ancora il flash player? Flash 4
M Href in xml verso ancora posta dentro un iframe XML 0
N Nascondere menu onclick su ancora Javascript 2
F ancora pulsanti HTML e CSS 1
N [RISOLTO]ancora ..passaggio variabili PHP 13
F [risolto] ancora name sul submit HTML e CSS 3
F Evento al secondo click su un ancora jQuery 21
S Accenti, accenti e ancora accenti! MySQL 3
L ancora problemi con wanscam IP Cam e Videosorveglianza 2
K ancora variabili PHP 3
T ancora domande su asp Classic ASP 14
voldemort HTML5 e CSS3: ancora troppo presto? HTML e CSS 3
H Warezone - Musica, Film, Giochi e molto altro ancora! ( ww.jeobiz.eu ) Presenta il tuo Sito 0
M controllare se un utente è ancora collegato. PHP 3
F [JAVA] Ancora problemi con il GregorianCalendar... Java 16
borgo italia ancora email Discussioni Varie 3
R link exchange??!? perchè non risulto ancora abilitato? Supporto Mr.Webmaster 4
S dreamweaver MX ancora attuale? Webdesign e Grafica 5
borgo italia ancora ie6 ie7 ff HTML e CSS 3
borgo italia ancora newsletter+phpmailler PHP 3
A swfobject ancora problemi Javascript 0
borgo italia ancora sulle news letter PHP 3
borgo italia ancora sulle espressioni regolari PHP 5
A #ancora che funziona in parte! Javascript 10
SolidSnake4 ancora problemi di visualizzazione template HTML e CSS 4
Z Accesso amministratori, aggiunta testo e creazione di link con ancora PHP 0
D Una domanda a tutti i webmaster! Quale sito web o idea manca ancora in internet?? Discussioni Varie 5
borgo italia ancora su tutorial immagini php+msql PHP 13
F chiedo ancora aiuto e sper mi possa aiutare qualche anima buona.... Reti LAN e Wireless 0
K Realizzazzione Loghi, Siti, Banner, Indicizzazzione e molto altro ancora Offerte e Richieste di Lavoro e/o Collaborazione 1
A Disattivare l'html - o meglio ancora l'invio di img in un form Classic ASP 12
S scusate ancora PHP 1
L ancora operazioni con decimali Javascript 0
coteaz elemento ancora Javascript 2
B Nome dominio ancora non disponibile??!! Domini 9
J ancora da terminare..... Presenta il tuo Sito 0
G HTML / Configurazione Scripts, Boards / PHP / Traduzioi e altro ancora....... Altri Annunci 0
D ANCORA PROBLEMI dm mx 2004 Windows e Software 0
E Front Page ancora nn c sono Webdesign e Grafica 0
peppoweb Domini .Eu, finalmente si parte Ma per registrarli è ancora presto Domini 0
M ancora sul dso Windows e Software 1
M ancora problemi con il modulo. HTML e CSS 10
D condivisione file via ftp?si fa ancora? Discussioni Varie 0
G Ancora Download come si fa... HTML e CSS 1
peppoweb Ancora MiMail. Torna per rubare Sicurezza e Virus 0
grottafelix ore 01:16 : ancora in piedi! Discussioni Varie 4
I salve a tutti gli iscritti. Presentati al Forum 1
otto9due Proteggere file caricati dall'esterno ma renderli accessibili per gli utenti loggati. PHP 4

Discussioni simili