Devo creare un nuovo database per un sito Web pubblico quando i dati esistono già?

2

Sto cercando consigli su come creare il mio schema di dati per un sito web pubblico.

Attualmente disponiamo di un sito Web Intranet in cui i nostri agenti creano i dati necessari per le prenotazioni. I dati includono tabelle come stabilimenti, prodotti, prezzi per periodi e una tipica tabella utenti.

Questa intranet è già in produzione.

Mi è stato assegnato il compito di creare un sito Web pubblico, in cui anonimi Joe e Jane potranno prenotare una prenotazione senza chiamare uno dei nostri agenti. Il sito offrirà la registrazione e mostrerà i dati disponibili dall'Intranet, anche se di sola lettura.

Il sito pubblico stesso avrà alcuni dati propri.

Sono un po 'riluttante a combinare i dati del sito pubblico nello stesso database della nostra intranet, ma la maggior parte delle informazioni che verranno visualizzate sul sito pubblico verranno dai dati pre-inseriti dalla intranet.

Esistono buone pratiche in merito alla separazione e alla condivisione di informazioni tra un sito Web pubblico e privato?

    
posta Pierre-Alain Vigeant 10.08.2011 - 21:20
fonte

2 risposte

5

Scrivi servizi Web per esporre i dati necessari e altre azioni, se necessario dal tuo sito, e distribuisci i servizi in modo che possano accedere al database, ma è possibile accedervi solo dal tuo sito Web specifico (solo consentire un determinato IP per eseguire azioni, ecc.).

Questo ti dà accesso ai tuoi dati, rimuove la necessità di creare un altro schema, sincronizzare i dati tra i due ed elimina alcuni dei rischi legati al cablaggio del database dell'agente direttamente alla tua applicazione web.

Potrebbero esserci altre soluzioni, ma questo ha funzionato bene per la mia azienda.

    
risposta data 10.08.2011 - 21:31
fonte
1

Dato che il tuo codice è la manipolazione dei database, la sicurezza di accedere al database interno da un sito pubblico non è un problema. Hai solo bisogno di assicurarti di seguire degli standard di codifica sicuri per evitare cose come l'iniezione sql. È inoltre possibile utilizzare nell'app pubblica, come precauzione aggiuntiva, un nome utente del database con i privilegi GRANT appropriati in modo tale che abbia solo i diritti per modificare determinate tabelle, ad esempio la tabella delle sessioni, ma non i diritti per modificare altri dati.

    
risposta data 10.08.2011 - 21:44
fonte

Leggi altre domande sui tag