Php
// credenziali del database
$ serverName ="your_server_name";
$ username ="your_username";
$ password ="your_password";
$ dbname ="your_database_name";
// Connetti al database
$ conn =new pDo ("sqlsrv:server =$ serverName; database =$ dbname", $ username, $ password);
// Controlla se l'utente è effettuato
if (ISSET ($ _ POST ['Username']) &&ISSET ($ _ POST ['Password'])) {
$ username =$ _post ['nome utente'];
$ password =$ _post ['password'];
// interroga il database per l'utente
$ sql ="seleziona * da utenti dove nome utente =:nome utente";
$ stmt =$ conn-> prepara ($ sql);
$ stmt-> bindParam (':nome utente', $ username);
$ stmt-> esecute ();
// controlla se l'esistenza dell'utente
if ($ stmt-> rowcount ()> 0) {
$ user =$ stmt-> fetch (pdo ::fetch_assoc);
// Verifica la password
if (password_verify ($ password, $ user ['password']) {
// L'utente è autenticato
session_start ();
$ _Session ['user_id'] =$ user ['id'];
// Scarica il file zip
header ('Content-Type:Application/Zip');
header ('Content-Disposition:allegato; fileName ="download.zip"');
readFile ('percorso/to/your/download.zip');
Uscita;
} altro {
// password non valida
echo "nome utente o password non valido.";
}
} altro {
// utente non trovato
echo "nome utente o password non valido.";
}
} altro {
// Visualizza il modulo di accesso
?>
Php
}
?>
`` `
Spiegazione:
1. Credenziali del database: Definire le informazioni sulla connessione del database (server, nome utente, password e nome del database).
2. Connetti al database: Stabilire una connessione al database MSSQL utilizzando PDO.
3. Gestione del modulo di accesso:
- Controlla se il nome utente e la password sono inviati.
- Interroga il database per trovare l'utente con il nome utente specificato.
- Se l'utente esiste, verificare la password utilizzando `password_verify ()`.
4. Autenticazione e sessione:
- Se la password è corretta, avviare una sessione e memorizzare l'ID dell'utente.
5. Scarica il file zip:
- Imposta le intestazioni HTTP appropriate per indicare il tipo di file e il prompt di scarica.
- Utilizzare `readFile ()` per inviare il contenuto del file zip al browser.
6. Modulo di accesso:
- Se l'utente non viene effettuato l'accesso, visualizzare il modulo di accesso con campi per nome utente e password.
Note importanti:
- Sostituire i segnaposto nel codice con le credenziali del database effettive, il percorso del file e qualsiasi altra informazione necessaria.
- Assicurati di avere l'estensione `PDO_SQLSRV` abilitata nella configurazione PHP.
- Hash le password dell'utente sono in modo sicuro utilizzando una forte funzione di hashing come `password_hash ()` prima di memorizzarle nel database.
- Implementare misure di gestione e sicurezza corrette per proteggere l'applicazione.
Questo codice fornisce una struttura di base per la gestione dell'accesso e il download di un file zip. Potrebbe essere necessario modificarlo ulteriormente per soddisfare i requisiti specifici.
Informazioni correlate
Programmazione © www.354353.com