2012-07-28 12 views
5

È considerata una cattiva prassi dare ai nomi dei moduli HTML lo stesso nome dei nomi dei campi della tabella? Sto costruendo alcune query sql inseritive dinamiche, e attualmente sto usando alcune espressioni regolari per cambiare i nomi dei campi del database rilevanti sulla base che ritengo possa essere insicuro altrimenti, quali sono le tue opinioni?Stesso nome per campi modulo e campi tabella database?

+1

bit difficile da aggirare con "nome" in una tabella e un modulo. I nomi sono irrilevanti, a patto che non stiate trasferendo i nomi dei campi attraverso il modulo, aprendovi a tutti i tipi di attacchi SQL injection. –

risposta

4

Ho scritto una funzione per fare query INSERT per me e dipende da questo fatto. Prende i nomi delle variabili $_POST e INSERT s nelle colonne corrispondenti.

Come detto nel commento alla OP, non importa, e nella maggior parte dei casi, consente di risparmiare tempo di tornare a ricordare se si è utilizzato first_name,firstname, o first.

Inoltre, tenete a mente che gli utenti non vedrà mai i nomi delle colonne del database e vedranno solo i nomi dei moduli se visualizzano l'origine. Pertanto, non c'è molto di cui preoccuparsi!

Buona fortuna!

0

Penso che questo possa aiutare a ridurre la codifica che è necessario fare. Anche se sembra una vulnerabilità, la cosa più importante è controllare i valori provenienti dagli utenti per i dati dannosi. Non penso che potrebbe essere dannoso poiché sapere quali campi DB stai usando non dà molto agli hacker. Hanno ancora bisogno di hackerare nel server DB per accedere ai tuoi dati.

+1

Per elaborare questo, tutti sanno che una tabella avrà un campo 'id', e uno che memorizza gli utenti avrà una' password, '' salt, 'e' name'. Quindi non preoccuparti – David

0

I nomi dovrebbero essere abbastanza leggibili da poter essere letti, e tuttavia "imprevedibili" (con una mancanza di un termine migliore) abbastanza per un utente malintenzionato che non è in grado di indovinare le parti private.

I nomi dei moduli non contano molto, ma un buon nome per un campo password sarebbe the_users_password o passphrase_for_account.

+0

Perché 'the_users_password' dovrebbe essere più sicuro di' password'? – David

+0

@David: Perché un utente malintenzionato avrà più difficoltà a indovinarlo. È poca sicurezza, come se fosse arrivato così lontano, sarà in grado di ottenere lo schema del tavolo, ma comunque ... –

+0

Beh, si spera che non stia memorizzando le password in chiaro nella colonna della password! Capisco quello che stai dicendo, però. – David

Problemi correlati