Pessima pratica usare i nomi delle colonne delle tabelle come chiavi in JS quando si fanno richieste XHR?

0

È OK usare i nomi delle colonne delle tabelle come chiavi in una coppia chiave / val dal lato JS quando si fanno richieste XHR / AJAX?

In JS, farò qualcosa di simile, dove specificherò i dati da inserire nella tabella, usando i nomi effettivi delle colonne della tabella come chiavi nella coppia chiave / val:

function createAccount() {

  var params = {
    name : 'John Smith',
    city : 'New Orleans',
    phone : '000-111-2222'
  };

  makeApiCall('/account', params, 'POST');

}

Quindi, nel livello intermedio, farò qualcosa del genere, dove ho semplicemente passato i dati direttamente nel codice che inserisce nel DB ($ args):

  public function createAccount($response, $args) {

    $trans = $this->db->insert('accounts', $args);

  }

Questo è sicuramente molto più facile per me. Meno codice da scrivere, ma mi chiedo quali sono gli svantaggi per fare questo?

    
posta Freddie 13.06.2017 - 04:28
fonte

1 risposta

1

C'è uno svantaggio nell'usare le stesse chiavi in JavaScript come nomi di colonne nel database. Un strong accoppiamento come quello che stai suggerendo probabilmente interromperà il tuo frontend se tenti di rinominare una colonna del database. È meglio introdurre una sorta di mappatura dalle chiavi front-end alle colonne del database per proteggerti da modifiche del genere.

L'altra cosa da fare attenzione è la possibilità di Iniezione SQL quando si usa l'input dell'utente per interrogare il database. È consigliabile utilizzare le migliori pratiche durante l'esecuzione di query sul database, tra cui l'utilizzo di istruzioni preparate e la disinfezione dell'input dell'utente.

    
risposta data 13.06.2017 - 04:46
fonte

Leggi altre domande sui tag