2009-12-11 7 views

risposta

3

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.

2

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.

1

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.

2

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)

Problemi correlati