Salve ragazzi, sono alle prime armi con php e mysql e sto seguendo le utilissime guide pubblicate sul vostro sito. Tuttavia mi ritrovo con un immenso dubbio. Vi spiego subito il problema:
Devo realizzare un interfaccia web per permettere a dei clienti di inviare dei dati che verranno memorizzati su db. Il mio intento inizialmente era il seguente:
- creo il db
- l'amministratore, inserisce tramite phpmyadmin un nuovo utente per ogni cliente limitando i privilegi alle tabelle di interesse, ed invia le credenziali di accesso al cliente tramite mail
- l'utente, ricevute le credenziali, può quindi effettuare login e compilare l'apposito modulo online il quale una volta premuto il tasto submit registra i dati del cliente sul database
Quindi la mia idea suppone che l'amministratore inserisce ogni nuovo cliente e lo abilita ad inserire dati nel DB.
Però mi è sorto un dubbio seguendo la seguente guida:
http://www.html.it/guide/guida-php-e-mysql-pratica
Nella guida che vi ho citato, viene utilizzato un altro approccio che, se non ho capito male, in linea generale dovrebbe essere il seguente:
- creo una tabella login, all'interno del mio database, nella quale memorizzo le credenziali per ogni nuovo utente
- creo un file php in cui inserisco i dati per effettuare la connessione al DB, quindi username e password ad esempio dell'amministratore
- effettuo la connessione al db utilizzando i dati nel file php del passo precedente e autentico infine l'utente confrontando i dati inseriti (nome utente e password) con quelli presenti nella tabella login.
Ecco i miei dubbi:
1. ma se inserisco i dati per la connessione in chiaro in un file di configurazione php, non vi è il rischio che qualche malintenzionato possa accedere al file, recuperare quindi i dati ed entrare nel DB?
2. Il metodo che avevo inizialmente pensato io, ovvero quello di far in modo che l'amministratore crea un nuovo utente per ogni cliente, quindi senza tabella login, ma utilizzando direttamente la funzione "nuovo utente" in PhpMyadmin è scorretto?
spero potete darmi delle delucidazioni in merito, ovvero che riusciate a spiegarmi qual'è il metodo più corretto/sicuro di effettuare un sistema di autenticazione.
PS. accetto consigli su eventuali alternative

Rispondi quotando
).
) allora non hai altra scelta che creare un utente di db
