Πώς να εξουσιοδοτήσετε

Πίνακας περιεχομένων:

Πώς να εξουσιοδοτήσετε
Πώς να εξουσιοδοτήσετε

Βίντεο: Πώς να εξουσιοδοτήσετε

Βίντεο: Πώς να εξουσιοδοτήσετε
Βίντεο: TaxAppCy - Πως να μας εξουσιοδοτήσετε ως φορολογικούς σάς αντιπροσώπους στο TAXISnet. 2024, Ενδέχεται
Anonim

Συχνά συμβαίνει ότι είναι απαραίτητο να χωριστούν οι επισκέπτες σε επιθυμητούς και ανεπιθύμητους και να δοθεί η ευκαιρία να δουν μερικές σελίδες του ιστότοπου μόνο σε όσους έχουν όνομα χρήστη και κωδικό πρόσβασης. Πώς να το κάνετε αυτό, για παράδειγμα, στη γλώσσα δέσμης ενεργειών διακομιστή PHP;

Πώς μπορώ να εξουσιοδοτήσω
Πώς μπορώ να εξουσιοδοτήσω

Οδηγίες

Βήμα 1

Ας οργανώσουμε τον ευκολότερο τρόπο προστασίας των σελίδων σας από μη εξουσιοδοτημένους επισκέπτες. Ο κομιστής των πληροφοριών σχετικά με το εάν ο επισκέπτης είναι εξουσιοδοτημένος θα είναι η συνεδρία. Η περίοδος σύνδεσης είναι ένα ανάλογο των cookies σε ένα πρόγραμμα περιήγησης, με τη μόνη διαφορά ότι δεν δημιουργούνται στον υπολογιστή μας, αλλά στον διακομιστή. Και χρησιμοποιούνται για τον ίδιο σκοπό με τα cookies - για την αποθήκευση διαφορετικών πληροφοριών για εμάς καθώς μεταβαίνουμε από σελίδα σε σελίδα ενός ιστότοπου. Όταν κλείνουμε το πρόγραμμα περιήγησης, ο διακομιστής καταστρέφει αυτήν την περίοδο λειτουργίας και την επόμενη φορά που θα συνδεθούμε, δημιουργεί μια νέα. Χρησιμοποιούμε αυτόν τον μηχανισμό διακομιστή για να καταγράψουμε εάν ο χρήστης έχει ήδη συνδεθεί στη συνεδρία ή όχι. Διαβάζοντας αυτές τις πληροφορίες, όταν ένας επισκέπτης ζητά μια σελίδα, το σενάριο php είτε θα ανοίξει πρόσβαση σε σελίδες που προστατεύονται με κωδικό πρόσβασης, είτε θα προσφέρει προσφορά για εισαγωγή ονόματος χρήστη και κωδικού πρόσβασης.

Βήμα 1: Δημιουργήστε μια σελίδα για την εισαγωγή σύνδεσης και κωδικού πρόσβασης. Ο κώδικας HTML της φόρμας εξουσιοδότησης στην απλούστερη μορφή του μπορεί να έχει την εξής μορφή:

Σύνδεση:

Κωδικός πρόσβασης:

Εδώ (στην αρχή του αρχείου) θα προσθέσουμε κώδικα php που θα ελέγξει την ορθότητα του ονόματος χρήστη και του κωδικού πρόσβασης που έχει εισαγάγει ο επισκέπτης. Στην αρχή θα γράψουμε:

session_start ();

Αυτή η εντολή ξεκινά μια νέα περίοδο λειτουργίας εάν δεν έχει ήδη δημιουργηθεί για αυτόν τον επισκέπτη.

Στη συνέχεια, ας ελέγξουμε εάν η περίοδος σύνδεσης έχει μια μεταβλητή με το όνομα "userName" - θα αποθηκεύσει το όνομα εάν ο επισκέπτης έχει ήδη συνδεθεί. Εάν υπάρχει μια τέτοια μεταβλητή, ανακατευθύνετε τον επισκέπτη στην κύρια σελίδα (index.php) και ολοκληρώστε την εκτέλεση αυτού του σεναρίου php:

εάν ($ _ SESSION ['userName']) {

κεφαλίδα ("Τοποθεσία: index.php");

έξοδος;

}

Ο υπόλοιπος κωδικός θα εκτελεστεί μόνο εάν ο χρήστης δεν έχει εισαγάγει ακόμη το σωστό όνομα χρήστη και κωδικό πρόσβασης. Ας υποδείξουμε ποια σύνδεση και κωδικό πρόσβασης πρέπει να θεωρούνται σωστά:

$ validName = "Είμαι δικός μου!";

$ validPass = 'μυστικός κωδικός πρόσβασης';

Στη συνέχεια ελέγχουμε για να δούμε αν οι τιμές που υποβάλλονται από τη φόρμα ταιριάζουν με τις σωστές. Εφόσον έχουμε καθορίσει τη μέθοδο μεταφοράς δεδομένων POST στη φόρμα, θα πρέπει να διαβάζονται από τη μεταβλητή $ _POST superglobal:

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ έγκυρο όνομα;

κεφαλίδα ("Τοποθεσία: index.php");

έξοδος;

}

Εδώ ο κώδικας με αγκύλες {} θα εκτελεστεί με τις σωστές τιμές του ονόματος χρήστη και του κωδικού πρόσβασης. Στη γραμμή $ _SESSION ['userName'] = $ validName; γράφουμε στη συνεδρία μια μεταβλητή με το όνομα «userName» που περιέχει τα στοιχεία σύνδεσης του τώρα εξουσιοδοτημένου χρήστη. Αυτό θα είναι το σημάδι ότι η πρόσβαση του είναι ανοιχτή παντού, εφόσον ισχύει η τρέχουσα συνεδρία του.

Σε περίπτωση εισαγωγής λανθασμένων δεδομένων στη φόρμα, προσθέστε το κατάλληλο μήνυμα:

αλλιώς ηχώ"

Η σύνδεση ή ο κωδικός πρόσβασης είναι λανθασμένος!

;

Όλος ο κωδικός που πρέπει να αποθηκευτεί σε ένα αρχείο με το όνομα login.php θα έχει την εξής μορφή:

<? php

session_start ();

εάν ($ _ SESSION ['userName']) {

κεφαλίδα ("Τοποθεσία: index.php");

έξοδος;

}

$ validName = "Είμαι δικός μου!";

$ validPass = 'μυστικός κωδικός πρόσβασης';

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ έγκυρο όνομα;

κεφαλίδα ("Τοποθεσία: index.php");

έξοδος;

}

αλλιώς ηχώ"

Η σύνδεση ή ο κωδικός πρόσβασης είναι λανθασμένος!

;

?>

Σύνδεση:

Κωδικός πρόσβασης:

Βήμα 2

Βήμα 2: Δημιουργήστε ένα μπλοκ εξουσιοδότησης - ένα ξεχωριστό αρχείο που θα συνδέεται σε κάθε σελίδα που χρειάζεται προστασία με κωδικό πρόσβασης. Αυτό το αρχείο θα περιέχει μόνο php-code, οπότε η επέκτασή του θα είναι "php" και θα του δώσουμε ένα όνομα σύμφωνα με την παράδοση για τέτοια αρχεία - "auth", δηλαδή "auth.php". Και εδώ, επίσης, αμέσως μετά το άνοιγμα της ετικέτας <? Php, θα πρέπει να υπάρχει μια οδηγία για την έναρξη μιας συνεδρίας:

session_start ();

Μπορούμε να διαβάσουμε όλες τις μεταβλητές που αποθηκεύονται στη συνεδρία από τον πίνακα $ _SESSION superglobal. Πρέπει να ελέγξουμε την τιμή της μεταβλητής "userName" - εάν ο επισκέπτης δεν έχει συνδεθεί ακόμη, τότε δεν θα βρίσκεται στον πίνακα και θα τον ανακατευθύνουμε στη σελίδα για να εισαγάγει το όνομα χρήστη και τον κωδικό πρόσβασής του:

εάν (! $ _ SESSION ['εξουσιοδοτημένο']) {

κεφαλίδα ("Τοποθεσία: login.php");

έξοδος;

}

Όλος ο κώδικας που πρέπει να αποθηκευτεί στο αρχείο auth.php θα έχει την εξής μορφή:

<? php

session_start ();

αν (! $ _ SESSION ['admin']) {

κεφαλίδα ("Τοποθεσία: enter.php");

έξοδος;

}

?>

Βήμα 3

Βήμα 3: αφού αποθηκεύσουμε αυτά τα αρχεία στο διακομιστή, θα παραμείνει σε όλες τις σελίδες php που πρέπει να προστατεύονται από μη εξουσιοδοτημένους χρήστες για να συνδέσουν το μπλοκ εξουσιοδότησης. Δηλαδή, στην αρχή κάθε αρχείου php, θα πρέπει να εισαγάγετε αυτόν τον κωδικό:

<? php

απαιτούν "auth.php";

?>

Και για να αλλάξετε τον κωδικό πρόσβασης, θα πρέπει να αλλάξετε τις τιμές αυτών των μεταβλητών στο αρχείο login.php:

$ validName = "Είμαι δικός μου!";

$ validPass = 'μυστικός κωδικός πρόσβασης';

$ validName - login, $ validPass - κωδικός πρόσβασης.

Συνιστάται: