Php
// διαπιστευτήρια βάσης δεδομένων
$ servername ="your_server_name";
$ username ="your_username";
$ password ="your_password";
$ dbname ="your_database_name";
// Συνδεθείτε στη βάση δεδομένων
$ conn =νέο PDO ("sqlsrv:server =$ servername; database =$ dbname", $ username, $ password);
// Ελέγξτε εάν ο χρήστης έχει συνδεθεί
αν (isset ($ _ post ['username']) &&isset ($ _ post ['password'])) {
$ username =$ _Post ['username'];
$ password =$ _Post ['password'];
// ερωτήστε τη βάση δεδομένων για τον χρήστη
$ sql ="επιλέξτε * από χρήστες όπου όνομα χρήστη =:όνομα χρήστη";
$ stmt =$ conn-> prepare ($ sql);
$ stmt-> bindparam (':όνομα χρήστη', $ username);
$ stmt-> execute ();
// Ελέγξτε εάν υπάρχει ο χρήστης
αν ($ stmt-> rowCount ()> 0) {
$ user =$ stmt-> fetch (pdo ::fetch_assoc);
// επαληθεύστε τον κωδικό πρόσβασης
αν (password_verify ($ password, $ user ['password'])) {
// Ο χρήστης έχει πιστοποιηθεί
session_start ();
$ _Session ['user_id'] =$ user ['id'];
// κατεβάστε το αρχείο zip
κεφαλίδα ('τύπου περιεχομένου:εφαρμογή/zip');
Header ('Περιεχόμενο-διάθεση:Συνημμένο · όνομα αρχείου ="download.zip"');
readfile ('path/to/your/download.zip');
έξοδος;
} αλλιώς {
// Μη έγκυρος κωδικός πρόσβασης
echo "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης";
}
} αλλιώς {
// Ο χρήστης δεν βρέθηκε
echo "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης";
}
} αλλιώς {
// Εμφάνιση φόρμας σύνδεσης
>>
<Μέθοδος φόρμας ="post">
Php
}
>>
`` `
Επεξήγηση:
1. Πιστοποιητικά βάσης δεδομένων: Καθορίστε τις πληροφορίες σύνδεσης βάσης δεδομένων (διακομιστής, όνομα χρήστη, κωδικό πρόσβασης και όνομα βάσης δεδομένων).
2. Συνδεθείτε στη βάση δεδομένων: Δημιουργήστε μια σύνδεση με τη βάση δεδομένων MSSQL χρησιμοποιώντας το PDO.
3. Χειρισμός φόρμας σύνδεσης:
- Ελέγξτε εάν υποβάλλονται το όνομα χρήστη και ο κωδικός πρόσβασης.
- Ζητήστε τη βάση δεδομένων για να βρείτε τον χρήστη με το καθορισμένο όνομα χρήστη.
- Εάν υπάρχει ο χρήστης, επαληθεύστε τον κωδικό πρόσβασης χρησιμοποιώντας το `password_verify ()`.
4. Επαλήθευση και συνεδρία:
- Εάν ο κωδικός πρόσβασης είναι σωστός, ξεκινήστε μια συνεδρία και αποθηκεύστε το αναγνωριστικό του χρήστη.
5. Κατεβάστε το αρχείο zip:
- Ρυθμίστε τις κατάλληλες κεφαλίδες HTTP για να υποδείξετε τον τύπο αρχείου και τη λήψη της προτροπής.
- Χρησιμοποιήστε το `readfile ()` για να στείλετε το περιεχόμενο αρχείου zip στο πρόγραμμα περιήγησης.
6. Φόρμα σύνδεσης:
- Εάν ο χρήστης δεν έχει συνδεθεί, εμφανίστε τη φόρμα σύνδεσης με πεδία για το όνομα χρήστη και τον κωδικό πρόσβασης.
Σημαντικές σημειώσεις:
- Αντικαταστήστε τους κρατές θέσης στον κώδικα με τα πραγματικά διαπιστευτήρια της βάσης δεδομένων, τη διαδρομή αρχείου και οποιεσδήποτε άλλες απαραίτητες πληροφορίες.
- Βεβαιωθείτε ότι έχετε ενεργοποιηθεί η επέκταση `PDO_SQLSRV` στη διαμόρφωση PHP.
- Χτυπήστε τους κωδικούς πρόσβασης χρήστη με ασφάλεια χρησιμοποιώντας μια ισχυρή συνάρτηση κατακερματισμού όπως το `password_hash ()` πριν από την αποθήκευση τους στη βάση δεδομένων.
- Εφαρμόστε τα κατάλληλα μέτρα χειρισμού σφαλμάτων και ασφαλείας για την προστασία της αίτησής σας.
Αυτός ο κωδικός παρέχει μια βασική δομή για τη διαχείριση της σύνδεσης και τη λήψη ενός αρχείου ZIP. Μπορεί να χρειαστεί να το τροποποιήσετε περαιτέρω ώστε να ταιριάζει στις συγκεκριμένες απαιτήσεις σας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα