Come si denominano i nomi dei campi in una pagina Web senza rivelare la struttura delle tabelle del database?Denominazione dei campi modulo in una pagina Web
risposta
Basta denominarli in HTML e mappare manualmente tra i nomi dei campi del database e i nomi dei campi HTML nel codice PHP.
Ma in realtà, se si utilizza prepared statements e si esegue l'autorizzazione e il controllo degli errori corretti, non dovrebbe importare se le persone conoscono i nomi dei campi della tabella.
Suppongo che si possa semplicemente rinominare i nomi dei campi di input se si pensa che questo sia un problema. È necessario collegarli alle colonne SQL corrette ad un certo punto comunque.
Questa sarebbe la sicurezza attraverso l'oscurità.
Fare attenzione a come si gestisce l'input (per evitare l'iniezione SQL) nella propria applicazione sembra comunque un approccio più ragionevole.
Se questo è davvero un problema per voi, quindi, solo campo utente1, campo2 (o f1, f2) e mapparli ai campi del database nel libro di laboratorio. Ma, a meno che tu non stia effettuando chiamate al database dal tuo codice HTML, allora c'è ben poco che si possa dedurre circa la struttura del database stesso semplicemente guardando i moduli con i nomi dei campi piuttosto che senza.
Di solito aggiungo un prefisso e un suffisso all'igiene/maneggevolezza.
Ad esempio, se un campo deve contenere solo lettere, e non altro, io ti nomino si tx_field_name
, altrimenti se può contenere html filtrato, hf_field_name
o full html hx_field_name
... lo script che otterrà il modulo sapere come disinfettare e controllare i valori in base al prefisso.
Ma se il vostro senso è esplicitamente Nascondi il nome della colonna del database, beh, ha dato il nome che si desidera, foo
, bar
, o aggiungere suffissi casuali, o addirittura sostituire il _
con -
(a cui è consentito nei campi html nome, ma non nel database nome della colonna)
ps: spero che si nON sIETE utilizzando un codice come
$values = $_POST;
$n_val = count($values);
$i = 0;
foreach($values AS $key => $value){
$pairs .= " `$key` = '$value' ";
if($n_val > $i){
$pairs .= ', ';
}
}
thedbyouprefer_query("UPDATE table SET $pairs WHERE id = '42'");
per gestire la forma, ma la mappatura con php (..e un po ' di posizioni preparate non sarà male)
- 1. Raggruppamento dei campi modulo Django
- 2. Iterazione dei campi modulo inviati in Flask?
- 3. jQuery Registrazione nella finestra dei campi modulo
- 4. Convenzione di denominazione dei campi della tabella e istruzioni SQL
- 5. Vista Django, modelli, modulo, denominazione app
- 6. Denominazione dei conflitti tra i valori dei campi e l'ambito locale in Haskell
- 7. Copia i valori dei campi modulo e incollali in un altro modulo/scheda?
- 8. Impostare i valori dei campi modulo in ExtJS
- 9. Convenzione di denominazione delle campi privati
- 10. Assegnazione dei campi/proprietà in una struttura
- 11. jQuery - Disabilita campi modulo
- 12. Come leggere dalla porta seriale in una pagina web
- 13. Web design "Una pagina"/"lunga pagina anteriore"?
- 14. Campi data del database - Convenzione di denominazione
- 15. Offset posizione di una pagina Web all'interno di iframe
- 16. Denominazione dei rapporti polimorfici bene
- 17. Denominazione dei tipi di enumerazione
- 18. forzata denominazione dei parametri in Python
- 19. Reverse Engineer una pagina Web
- 20. Come leggere una pagina Web in PHP
- 21. Incolla l'immagine in una pagina web
- 22. Bibtex su una pagina Web?
- 23. AngularJS: impedisce la convalida dei campi modulo nascosti
- 24. Validazione dei campi non presenti nel modulo ma nell'entità
- 25. ExtJS: ridimensionamento automatico dei campi modulo al ridimensionamento della finestra
- 26. Convalida dei campi uguali in Symfony 2
- 27. django - campi modulo dinamici
- 28. Codifica dei caratteri corretti della pagina Web con python Mechanize
- 29. Stesso nome per campi modulo e campi tabella database?
- 30. Esiste una convenzione di denominazione standard per moduli/spazio dei nomi in haskell?
Sì, un modulo HTML. – giancarlo
Bella domanda. =) –