Joomla.it Forum
Non solo Joomla... => Sviluppo => : kolbac 27 Mar 2007, 15:30:24
-
Ciao ragazzi,
volevo sapere, se esistono, quali sono i metodi per effettuare un controllo di validità sui campi di un form.
Ciao e Grazie.
-
Ciao ragazzi,
volevo sapere, se esistono, quali sono i metodi per effettuare un controllo di validità sui campi di un form.
Ciao e Grazie.
Semplicemnte dei filtri che controllano se un campo obbligatorio è compilato, un campo dove devono essere inseriti numeri sono stati inseriti oppure il classico controllo sul campo emai che controlla la @ ;)
-
Volevo sapere proprio se esistono già, ho devo farli da me...
Ma a quanto ho capito non ci sono vero?
-
Volevo sapere proprio se esistono già, ho devo farli da me...
Ma a quanto ho capito non ci sono vero?
In genere se scarichi un modulo sono già pensate queste cosette!! Se invece vuoi degli esempi concreti, basta cercare su Google :)
-
Semplicemnte dei filtri che controllano se un campo obbligatorio è compilato, un campo dove devono essere inseriti numeri sono stati inseriti oppure il classico controllo sul campo emai che controlla la @ ;)
Semplicemente? :D
-
Cerco di spiegarmi meglio. Il problema non è tanto se il campo è stato riempito o meno, che è banale da verificare, quanto protegere il mio componente da attacchi di qualunque tipo. Non vorrei lasciare la possibilità di inserire del codice pericoloso tramite i campi.
Quindi????
sapete aiutarmi o indicarmi qualche guida?
fondamentalmente i campi sono del tipo nome, cognome, mail, sito web, e cose simili.
Il controllo conviene farlo lato client tramite javascript o lato server???
Leggevo proprio ora, che se javascript non è abilitato il controllo non viene effettuato. E' vero???? Nel caso come faccio a vedere se il browser è abilitato?
Grazie
-
Allora il discorso cambia un pò. Lato server o lato client? Dipende.
-
bhe da quanto sto leggendo in giro converrebbe fare entrambi...
Poi non lo so... datemi voi qualche dritta.
Sto sviluppando un componente per joomla, quindi pensavo di applicare le stesse tecniche che vengono utilizzate, per la convalida dei form, nello sviluppo degli altri componenti.
Da una ricerca un po' approssimativa sul devbook non ho travato nulla, quindi mi sono rivolto a voi per sapere se esiste già qualche filtro e se sapete darmi indicazioni su come farlo (in altre parole, quili sono i pericoli e come evitarli)
-
Io eviterei i controlli lato client con JS, perchè basta disattivarlo per aggirare i controlli.
La soluzione definitiva è sicuramente il controllo lato server.
Poi JS può aiutare nell'interazione con l'utente, ma il controllo deve essere fatto lato server.
Per quanto riguarda la sicurezza, dipende dall'utilizzo che devi fare con i dati che ricevi.
-
cmq se hai già guardato gli altri componenti, non è che ci sono molti consigli aggiuntivi. Puoi pensare a tutti gli eventi poi ti bucano per chi sà quale motivo. Un sistema realmente sicuro non esiste.
-
I dati riguardano degli enti. In particolare il nome, l'indirizzo, mail, sito web, ed altri di questo genere che cmq saranno pubblicati.
In sostanza i campi più particolari sono mail, e sito web, ma chiaramente un controllo devo effettuarlo anche sugli altri in modo tale che non buchino il sito con troppa semplicità.
Io avevo pensato di effettuare il controllo lato client e nel caso in cui nel browser fosse disabilitato l'utilizzo degli scrtip effettuarlo lato server.
Chiaramente in tal caso mi occorre controllare se il browser e abilitato o meno sai come si fa?
Grazie
-
Lascia stare il controllo lato client, perdi solo del tempo.
Anche perchè IE7 funziona in un modo, Firefox in un altro, Opera, IE6, Konqueror, ...
E se siamo sotto MAC? Safari, ...
-
Per la sicurezza puoi iniziare con l'utilizzo delle funzioni mysql_escape_string() e mysql_real_escape_string().
http://it.php.net/manual/it/function.mysql-escape-string.php
http://it.php.net/manual/it/function.mysql-real-escape-string.php
-
Ok, consiglio accettato.
Però ora dammi qualche indicazione su come farlo lato server,
quanto meno da quali pericoli devo difendermi. Altrimenti oltre a controllare se il campo è obbligatorio o meno non saprei cosa fare.
Per la sicurezza puoi iniziare con l'utilizzo delle funzioni mysql_escape_string() e mysql_real_escape_string().
http://it.php.net/manual/it/function.mysql-escape-string.php
http://it.php.net/manual/it/function.mysql-real-escape-string.php
i metodi quote (pag 20 devbook) e getEscaped (pag 12 devbook) di joomla sono meno affidabili?
-
Vanno benissimo anche loro, anzi sono fatti apposta.
I pericoli da cui difenderti sono tanti, primi tra tutti SQL Injection e Remote File Inclusion. Qualcosa è accennato nel devbook.
Il consiglio è di effettuare un primo test per stabilire che le precondizioni siano rispettate.
Dopodichè un secondo test per cercare di rendere il codice un pò più a prova di attacco.