Dropdown menu postato il 04/07/2013 18:57:41 nel forum programmazione, gdrcd, open source, hosting
Buonasera a tutti.
Domanda, credo, semplice semplice (per voi, credo ^^):
Avendo un form di questo tipo:
Pagine → 1
04/07/2013 22:00:31
04/07/2013 22:11:06 e modificato da sgc carter il 04/07/2013 22:11:43
Sì ma così... la prima opzione (quella selezionata all'apertura della pagina) non è quella che richiama dal database e soprattutto non valorizza la variabile $Icona...
Scrivere il menù, OK, il problema è integrarlo con il DB.
Cmq, non mi serve il Sì no, in realtà mi servono 8 opzioni, ovvero un menù che si presenta così:
04/07/2013 22:22:05
Risolto XD
In effetti non era difficile, cmq ecco la soluzione che, credo, funzioni
04/07/2013 22:26:52 e modificato da darkabe il 04/07/2013 22:31:29
Forse mi sto perdendo qualche passo, ma con
05/07/2013 00:35:28 e modificato da yamada il 05/07/2013 00:39:19
mi piace.... 🙃
mi chiedo cosa succede se a $Icona passo mmm 😏
'JOIN (DROP TABLE nome_tabella)";//
??
risposta: succede la magia alla query!!
$MySql = "UPDATE Unita SET Icona = ''JOIN (DROP TABLE nome_tabella)";// WHERE Numero = '336'";
addio alla tabella nome_tabella
😆 e andiamo!!! 😆
edit: a gia scusate... dimenticavo che oltre alla tabella del database anche tutti i campi 'Icona' della tabella 'Unita' vanno a NULL.. giusto per precisione 🙃🙃
05/07/2013 01:04:16
05/07/2013 03:06:01
Domanda stupida ma come si può passare a $Icona un valore diverso da quello delle option del dropdown menu?
05/07/2013 11:28:44 e modificato da dyrr il 05/07/2013 11:50:29
E' possibile in diversi modi che non credo sia il caso di spiegare qui, ma che se vuoi ti posso dire in privato cosi puoi controllare se per caso altre query derivanti da form sono sicuri o meno.
L'iniettabilità di quella query dipende anche da se il server su cui è hostata la lang ha attiva e la maggior parte dei server per default la ha, la direggtiva magic_quotes_cpg che fa l'aescape in automatico dei caratteri.
Direttiva considerata deprecata però in php 5.3 o superiori e se non ricordo male rimossa in 6.4 per cui attenzione a far riferimento per la sicurezza dei dati inviati dai form solo a quella.
sarebbe sempre il caso comunque di usare un mysql_real_escape_string() o equivalenti su tutte le query che comportino l'inserimento di variabili che possono esser ein qualche modo manipolate, o se si è paranoici su tutte le variabili.
Se non si è sicuri se pma dell'arrivo alla query la variabile abbia gia avuto l'escape dei caratteri onde evitare doppi o anche supeirori backslash può essere un buon metodo crearsi una funzione customizzata che rimuova tutti i backslash e poi gli aggiunga, come se non ricordo male fanno la maggiorparte delle funzioni di filtro del gdrcd 5.x per fare un esempio
Nel tuo caso visto che i valori possibili previsti dal form sono solo 8 potrebbe essere una buona cosa controllare che il valore inserito sia esclusivamente uno dei valori possibili, in maniera che qualcuno, anche s eil danno è minimo non possa inserire tipo un D11 come valore se i valori possibili sono D1,D2,D3,D4,D5,D6,D7,D8.
per questi scopi vengono molto utili le funzioni di filtraggio dati di php filter_var http://php.net/manual/en/function.filter-var.php che per esempio nel tuo caso con una semplice regex, sperando di non aver fatto errori di intassi visto che non ho avuto modo di testare il codice, può farti il controllo e in caso di input non valido correggere l'input ad uno si default.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
The Voyager: Il Mercante di Surrey Street. Vendita eccezionale