È una cattiva pratica memorizzare l'input dell'utente nella stessa tabella in cui l'amministratore memorizza i dati?

2

Se in un'app Web, diciamo un'app che ha una tabella con l'indirizzo stradale memorizzato ( Stringhe ), l'amministratore dell'app aggiungerà spesso i dati per far crescere il suo archivio. La tabella (MySQL) ha una chiave primaria con AUTO_INC .

L'app Web consente agli utenti di aggiungere indirizzi autonomamente. Una volta che un utente inserisce un indirizzo, dice X , TUTTI gli utenti dell'applicazione potranno vedere l'indirizzo X durante la ricerca di indirizzi disponibili.

Cosa succede se, dato che l'indirizzo è una stringa, un utente memorizza contenuti inappropriati (come le parolacce, ad esempio)? Questo potrebbe offendere alcuni utenti e spingerli a smettere di usare l'app.

Quindi stavo pensando a cosa sarebbe stato meglio:

  • Memorizzare l'input dell'utente in una tabella separata ("input in sospeso"), finché l'amministratore non li approva e quindi viene spostata la tabella ufficiale?
  • Oppure memorizza gli input nella stessa tabella della tabella degli input dell'amministratore, ma inserisci un indicatore temporaneo su ogni record immesso (dagli utenti) in modo che siano visibili solo a quell'utente finché l'amministratore non li approva?

Da una nota a margine, è logico limitare ogni utente ad avere una quantità specifica di indirizzi di input al giorno che possono aggiungere (alcuni spammer potrebbero riempire la tabella con migliaia di record inutili)?

    
posta shadesco 05.02.2012 - 04:05
fonte

1 risposta

4

Metterei sempre i dati dello stesso tipo in una tabella e piuttosto aggiungere alcune semplici colonne con le bandiere in una singola tabella. Questo renderà l'aggiunta di nuove funzionalità al tuo sistema in una fase successiva probabilmente molto più facile da realizzare. Soprattutto se altri sviluppatori lavoreranno al progetto.

Il problema con un numero limitato di richieste da parte degli utenti è che si limitano gli utenti più attivi. Puoi seguire la filosofia di StackExchange. La prima volta che un utente aggiunge un indirizzo, deve prima essere approvato. Quindi è possibile creare una base affidabile di utenti e non vi è alcun motivo per limitare tali utenti. Non renderlo complicato comunque. Dividere gli utenti in nuovi utenti e utenti fidati dovrebbe essere sufficiente, se si aggiungono anche alcune opportunità per gli utenti regolari di segnalare input spam con un semplice pulsante. Non rendere il tuo sistema più limitato del necessario, che farà paura ai potenziali utenti attivi.

    
risposta data 05.02.2012 - 11:21
fonte

Leggi altre domande sui tag