Κεφ. 6 απαιτείται σύνδεση χρησιμοποιώντας το όνομα. Ασφάλεια δεδομένων χρήστη. Λύσεις στο πρόβλημα "Ωχ, παρουσιάστηκε σφάλμα" στο Instagram

Δημοσιεύτηκε 23 Οκτωβρίου στις 23:15.

Χρήση επαλήθευσης ονόματος χρήστη για αύξηση της ασφάλειας λογαριασμός

Ως πρόσθετο μέτρο ασφαλείας, σας παρέχουμε ένα σύστημα επαλήθευσης ονόματος χρήστη για τη βελτίωση της ασφάλειας λογαριασμού σε ορισμένες σελίδες EA, συμπεριλαμβανομένης της σελίδας του λογαριασμού σας EA.

  • Προσοχή στους παίκτες της FIFA: αυτή τη λειτουργίααπαιτείται για πρόσβαση σε διακομιστές FIFA Ultimate Team και σε εφαρμογές συνεργατών.

Αυτό το μέτρο ασφαλείας έχει σχεδιαστεί για να αποτρέπει τη σύνδεση ατόμων στον λογαριασμό σας EA από άγνωστες συσκευές χωρίς κωδικό πρόσβασης και επαλήθευση του ονόματος χρήστη σας. Οι ειδοποιήσεις θα αποστέλλονται στο κινητό σας τηλέφωνο ή στο email της επιλογής σας. Κατά τη διαδικασία επαλήθευσης ονόματος χρήστη, προσωρινή ψηφιακούς κωδικούςπρόσβαση για κάθε συγκεκριμένο χρήστη που απαιτείται για σύνδεση σε λογαριασμό από άγνωστη συσκευή.


Ενεργοποίηση επαλήθευσης ονόματος χρήστη

1. Μεταβείτε στο ea.com και συνδεθείτε.

2. Κάντε κλικ στο όνομα χρήστη σας και, στη συνέχεια, επιλέξτε "Ο λογαριασμός μου".

3. Επιλέξτε την καρτέλα Ασφάλεια, όπου μπορείτε να βρείτε την ενότητα Επαλήθευση ονόματος χρήστη.

4. Κάντε κλικ στην Ενεργοποίηση για να ενεργοποιήσετε την επαλήθευση ονόματος χρήστη, εισαγάγετε την ερώτηση ασφαλείας σας και επιλέξτε μία από τις επιλογές: email, εφαρμογή ταυτότητας ή SMS για να λάβετε έναν κωδικό επαλήθευσης.

  • Εάν επιλέξετε την επιλογή " ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ» αντί για SMS, βεβαιωθείτε ότι η διεύθυνση email που παρέχεται για τον λογαριασμό σας είναι μια έγκυρη και λειτουργική διεύθυνση που ελέγχετε τακτικά για νέα μηνύματα.
  • Μια εφαρμογή αναγνώρισης για tablet και κινητά τηλέφωνα σάς επιτρέπει να δημιουργήσετε κωδικούς επαλήθευσης σε αυτές τις συσκευές για να συνδεθείτε στον λογαριασμό σας.
  • Επιλέξτε τον τύπο της συσκευής σας από την αναπτυσσόμενη λίστα και κατεβάστε το Google Authenticator για συσκευές Apple και Android ή το Authenticator για συσκευές που χρησιμοποιούν λειτουργικό σύστημα Windows.
  • Οι παίκτες του FIFA 15 σε PlayStation 3 και Xbox 360 δεν θα χρειαστεί να λάβουν πρόσθετα μέτρα ασφαλείας κατά την επαλήθευση του ονόματος χρήστη τους με την εφαρμογή ελέγχου ταυτότητας.

5. Θα λάβετε τώρα έναν κωδικό επαλήθευσης όταν προσπαθείτε να συνδεθείτε από μια άγνωστη συσκευή. Κάθε 90 ημέρες, θα λαμβάνετε έναν κωδικό επαλήθευσης όταν συνδέεστε στον λογαριασμό σας από αξιόπιστες συσκευές. Με αυτόν τον τρόπο, μόνο εσείς μπορείτε να έχετε πρόσβαση στον λογαριασμό σας EA χρησιμοποιώντας έναν μοναδικό κωδικό.


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

Σημείωση

  • *Μην απενεργοποιείτε την επαλήθευση ονόματος χρήστη εάν παίζετε FIFA Ultimate Team, διαφορετικά θα σας αρνηθεί την πρόσβαση.
  • Φροντίστε επίσης να δημιουργήσετε και να επιβεβαιώσετε μια ερώτηση και απάντηση ασφαλείας για την ομάδα FIFA Ultimate.

Ρυθμίστε την εφαρμογή ταυτοποίησής σας

Η εφαρμογή αναγνώρισης είναι η πιο γρήγορος τρόποςεπαληθεύστε με ασφάλεια την ταυτότητά σας. Ρυθμίστε μια εφαρμογή αναγνώρισης στο δικό σας κινητή συσκευήγια να συνδεθείτε χρησιμοποιώντας τον κωδικό που δημιουργεί για αναγνώριση σε δύο βήματα.

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

2. Κάντε κλικ στο Enable για να ενεργοποιήσετε την επαλήθευση ονόματος χρήστη, απαντήστε στην ερώτηση ασφαλείας, επιλέξτε Identity Application και κάντε κλικ στο Continue.

3. Επιλέξτε το λειτουργικό σύστημα του τηλεφώνου που χρειάζεστε από την αναπτυσσόμενη λίστα και σαρώστε τον κωδικό QR χρησιμοποιώντας μια εφαρμογή ανάγνωσης γραμμωτού κώδικα ή αναζητήστε το app store για το τηλέφωνό σας για έλεγχο ταυτότητας για την κατάλληλη εφαρμογή: Google Authenticator σε Android και iOS ή Authenticator στα Windows Τηλέφωνο.

4. Ανοίξτε την εφαρμογή αναγνώρισης και ορίστε την επιλογή για μη αυτόματη προσθήκη λογαριασμού.

5. Σαρώστε τον κωδικό QR ή πληκτρολογήστε μυστικός κωδικόςγια να συνδέσετε την εφαρμογή ταυτότητάς σας με τον λογαριασμό σας EA.

6. Ολοκληρώστε τη ρύθμιση της εφαρμογής αναγνώρισης πληκτρολογώντας τον κωδικό που δημιούργησε για τον λογαριασμό σας στην Electronic Arts και κάνοντας κλικ στην επιλογή "Ενεργοποίηση επαλήθευσης ονόματος χρήστη".

Όταν πρέπει να επαληθεύσετε το όνομα χρήστη σας στο μέλλον:

1. Ανοίξτε την εφαρμογή αναγνώρισης.

2. Εισαγάγετε τον εξαψήφιο κωδικό για τον λογαριασμό σας στην Electronic Arts.

Ο κωδικός που δημιουργήθηκε ισχύει για περιορισμένο χρονικό διάστημα. Εάν ο τρέχων κωδικός σας πρόκειται να λήξει ήδη, περιμένετε μέχρι η εφαρμογή να δημιουργήσει έναν νέο κωδικό, ώστε να έχετε αρκετό χρόνο για να τον εισαγάγετε.

Τι πρέπει να κάνω εάν δεν μπορώ να το χρησιμοποιήσω; κινητό τηλέφωνοή email όταν χρειάζομαι κωδικό; Είναι δυνατή η δημιουργία κωδικών βοήθειας;

Εάν το τηλέφωνό σας, η ταυτότητα ή ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗδεν είναι διαθέσιμα σε εσάς, ο μόνος τρόποςΕίσοδος στον λογαριασμό EA από άγνωστο υπολογιστή - χρήση κωδικών βοήθειας. Φροντίστε να τα αποθηκεύσετε σε μέρος που είναι ασφαλές και προσβάσιμο σε εσάς. Μπορείτε να προβάλετε και να ενημερώσετε αυτούς τους κωδικούς στον λογαριασμό σας EA στις Ρυθμίσεις απορρήτου στο πρόγραμμα-πελάτη Origin ή στο διαδίκτυο.

  • Κάντε κλικ στην επιλογή "Ασφάλεια", στη συνέχεια "Προβολή" και "Κωδικοί βοήθειας".*
  • Μπορείτε επίσης να χρησιμοποιήσετε τη λειτουργία "Αίτημα νέου κωδικού αφού συνδεθείτε στο FIFA Ultimate Team".

*Εάν εξαντληθούν οι κωδικοί υποστήριξης, μπορείτε να δημιουργήσετε νέους στη σελίδα Διαχείριση λογαριασμού.

Επιβεβαιώνω στοιχεία επικοινωνίαςγια να βεβαιωθείτε ότι ο κωδικός είναι σωστός.

Εάν αντιμετωπίζετε δυσκολίες με τον κωδικό επαλήθευσης του ονόματος χρήστη σας, βεβαιωθείτε ότι η διεύθυνση email ή ο αριθμός τηλεφώνου σας έχουν εισαχθεί σωστά. Όταν χρησιμοποιείτε ένα αναγνωριστικό, βεβαιωθείτε ότι το πρόγραμμα έχει εγκατασταθεί σωστά.

  • Εάν επιλέξατε να στείλετε έναν κωδικό στο email σας όταν ενεργοποιήσατε την επαλήθευση του ονόματος χρήστη σας, μπορείτε να ελέγξετε και να ενημερώσετε τη διεύθυνση email σας στην ενότητα Σχετικά με εμένα της σελίδας Διαχείριση λογαριασμού ή μέσω του προγράμματος-πελάτη Προέλευσης.
  • Εάν επιλέξετε Identity App, μπορείτε να χρησιμοποιήσετε έναν γραμμωτό κώδικα ή έναν κωδικό QR για να σαρώσετε και να αναζητήσετε τον κωδικό μεταξύ ?secret= και &.
  • Εάν επιλέξατε την επιλογή αποστολής κωδικού μέσω SMS κατά την ενεργοποίηση της επαλήθευσης του ονόματος χρήστη, μπορείτε να ελέγξετε και να ενημερώσετε τον αριθμό τηλεφώνου σας στην ενότητα Ασφάλεια της σελίδας διαχείρισης του λογαριασμού σας ή μέσω του προγράμματος-πελάτη Προέλευσης.
  • Δημιουργήστε ή επιβεβαιώστε μια ερώτηση και απάντηση ασφαλείας.

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

Γιατί πήρα αυτή τη φόρμα;

Αυτήν τη στιγμή υπάρχει μια επίθεση Brute-force στον ιστότοπό σας. Μια επίθεση Brute-force είναι μια επίθεση εικασίας κωδικού πρόσβασης. Σε αυτήν την περίπτωση, επιλέγεται ένας κωδικός πρόσβασης για τον πίνακα διαχείρισης του ιστότοπού σας.

Για να αποτρέψουμε την παραβίαση του ιστότοπού σας και να αυξήσουμε την ασφάλειά του, έχουμε εγκαταστήσει πρόσθετη προστασία.

Πώς μπορώ τώρα να αποκτήσω πρόσβαση στον πίνακα διαχείρισης του ιστότοπου;

Τώρα, κατά την πρόσβαση στον πίνακα διαχείρισης του ιστότοπού σας (στο Joomla ή στο WordPress), θα εμφανιστεί ένα πρόσθετο παράθυρο για την εισαγωγή των στοιχείων σύνδεσης και του κωδικού πρόσβασης με την επιγραφή «παρακαλώ χρησιμοποιήστε τον κωδικό πρόσβασης του πίνακα ελέγχου». Ως σύνδεση, πρέπει να εισαγάγετε τα στοιχεία σύνδεσης της υπηρεσίας φιλοξενίας σας, όπως φαίνεται "u1234567". Ο κωδικός πρόσβασης είναι ο τρέχων κωδικός πρόσβασης για την υπηρεσία φιλοξενίας σας.

Αφού περάσετε τον βασικό έλεγχο ταυτότητας HTTP, θα δείτε ένα τυπικό πεδίο σύνδεσης στον πίνακα διαχείρισης του ιστότοπού σας. Τώρα θα χρειαστεί να εισαγάγετε τα στοιχεία σύνδεσης και τον κωδικό πρόσβασης του διαχειριστή του ιστότοπου.

Πώς λειτουργεί ο βασικός έλεγχος ταυτότητας HTTP

Κατά την εισαγωγή του κωδικού πρόσβασης σύνδεσης στο βασικό παράθυρο ελέγχου ταυτότητας, η τιμή σύνδεσης και κατακερματισμός κωδικού πρόσβασηςθα συγκριθούν με τις τιμές σε ειδικό αρχείο ~/etc/users, διαθέσιμο στον πίνακα ελέγχου της φιλοξενίας σας. Τα περιεχόμενα του αρχείου είναι κάπως έτσι: "u1234567:dm48bspxIO3rg". Όπου "u1234567" είναι η σύνδεση και "dm48bspxIO3rg" είναι κατακερματισμός κωδικού πρόσβασης(σημείωση: μόνο ο κατακερματισμός, όχι ο ίδιος ο κωδικός πρόσβασης!). Ένας κατακερματισμός κωδικού πρόσβασης είναι το αποτέλεσμα της μετατροπής ενός κωδικού πρόσβασης χρησιμοποιώντας έναν συγκεκριμένο αλγόριθμο.

Έτσι, όταν εισάγετε τα στοιχεία σύνδεσης και τον κωδικό πρόσβασής σας στο βασικό παράθυρο ελέγχου ταυτότητας, ο εισαγόμενος κωδικός πρόσβασης λαμβάνεται από χασίσικαι συγκρίνεται με την τιμή κατακερματισμού στο αρχείο ~/etc/users. Εάν οι τιμές ταιριάζουν, έχετε πιστοποιηθεί.

Δεν μπορώ να περάσω τον βασικό έλεγχο ταυτότητας

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

Εάν έχετε περάσει τον βασικό έλεγχο ταυτότητας αλλά δεν μπορείτε να συνδεθείτε απευθείας στον πίνακα διαχείρισης του ιστότοπού σας Joomla ή WordPress, χρησιμοποιήστε τη βοήθεια:

Πώς να αυξήσετε την προστασία του ιστότοπού σας από επιθέσεις Brute-force;

Για να αυξήσετε την ασφάλεια του ιστότοπου:

  • αλλάξτε τη σύνδεση υπερχρήστη σε μια πιο μοναδική. Μην χρησιμοποιείτε μικρά ονόματα, είναι καλύτερα να χρησιμοποιείτε το μικρό όνομα μαζί με το επίθετο. Υπάρχουν πολλοί πόροι στο Διαδίκτυο όπου συλλέγονται οι πιο δημοφιλείς συνδέσεις. Εξοικειωθείτε με αυτά και μην τα χρησιμοποιείτε ποτέ.
  • Ορίστε έναν περίπλοκο κωδικό πρόσβασης διαχειριστή τοποθεσίας. Σύνθετος κωδικός πρόσβασηςπρέπει να περιέχει κεφαλαία και πεζά γράμματα, αριθμούς και πρόσθετα σύμβολα όπως "* - _ # :", κ.λπ. Το μήκος του κωδικού πρόσβασης δεν είναι μικρότερο από 6 χαρακτήρες. Κατά προτίμηση 10 και άνω.

Πώς να αφαιρέσετε τη φόρμα Βασικού ελέγχου ταυτότητας HTTP;

Για να καταργήσετε τη φόρμα Βασικού ελέγχου ταυτότητας HTTP:

AuthType Basic AuthName "παρακαλώ χρησιμοποιήστε τον κωδικό πρόσβασης του πίνακα ελέγχου" AuthUserFile .../χρήστες Απαιτείται έγκυρος χρήστης

Για να σχολιάσετε μια γραμμή, βάλτε ένα σύμβολο κατακερματισμού (“#”) στην αρχή της γραμμής, όπως αυτό.

Θα χρειαστούμε τις παρακάτω σελίδες:

  • Σελίδα εγγραφής με φόρμα εγγραφής
  • Σελίδα ενεργοποίησης λογαριασμού
  • Σελίδα ανάκτησης κωδικού πρόσβασης
  • Σελίδα επαναφοράς κωδικού πρόσβασης

Η φόρμα σύνδεσης του ιστότοπου θα τοποθετηθεί σε όλες τις σελίδες του ιστότοπου (για παράδειγμα, στην κεφαλίδα).

Αυτή είναι η σελίδα εγγραφής που θέλουμε να λάβουμε:

Εδώ ο τύπος λογαριασμού θα καθορίσει σε ποια ομάδα θα εγγράψουμε τον χρήστη. Επίσης, το πεδίο αναγνώρισης (όνομα χρήστη) θα είναι email.

Προσθέστε ένα απόσπασμα κλήσης στη σελίδα Κανω ΕΓΓΡΑΦΗ:

[[!Κανω ΕΓΓΡΑΦΗ? &submitVar=`register-btn` &activationResourceId=`27` &activationEmailTpl=`Email.Activation` &activationEmailSubject=`Έχετε εγγραφεί στο example.com` &placeholderPrefix=`reg.` &successMsg=`

Ευχαριστούμε για την εγγραφή σας. Στο email σας [[!+reg.email]]Έχει σταλεί ένα email με έναν σύνδεσμο για την ενεργοποίηση του λογαριασμού σας. Ακολουθήστε αυτόν τον σύνδεσμο για να ολοκληρώσετε την εγγραφή σας.
` &usernameField=`email` &usergroupsField=`reg_type` &customValidators=`valueIn` &validate=`username:blank, reg_type:valueIn=^Readers;Writers;Idlers ^, πλήρες όνομα:απαιτείται:minLength=^6red^L. =^6^, password_confirm:password_confirm=^password^, email:required:email` ]] [[!+error.message:default=`[[!$Register.Form]]`]]

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

Ας δούμε τις παραμέτρους κλήσης:

&submitVar=`register-btn`- καθορίζει το χαρακτηριστικό name της ετικέτας εισαγωγή. Δηλαδή, το απόσπασμα θα λειτουργήσει μόνο εάν η φόρμα υποβληθεί με ένα κουμπί με συγκεκριμένο όνομα.

&activationResourceId=`42`- κοιτάζοντας μπροστά, το 42 είναι το αναγνωριστικό της σελίδας στην οποία θα ενεργοποιήσουμε τον χρήστη.

&activationEmailTpl=`Email.Ενεργοποίηση`- ένα κομμάτι με ένα γράμμα ενεργοποίησης, περισσότερα για αυτό αργότερα.

&placeholderPrefix=`reg.`- υποδεικνύει ότι όλα τα σύμβολα κράτησης θέσης, με σπάνιες εξαιρέσεις (περισσότερα για αυτό αργότερα), που δημιουργούνται σε αυτό το απόσπασμα πρέπει να ξεκινούν με "reg".

&επιτυχίαΜήνυμα– ένα μήνυμα που θα εμφανιστεί με την επιτυχή υποβολή της φόρμας. Σημειώστε ότι μπορεί να περιέχει τιμές από τη φόρμα και οποιεσδήποτε άλλες ετικέτες. Αυτό το μήνυμαεγγραφείτε για το σύμβολο κράτησης θέσης [[!+error.message]].Πολύ περίεργο όνομα, και στην τεκμηρίωση για αυτή τη στιγμήλάθος. Είναι γραμμένο εκεί [[!+reg.error.message]],αλλά από τον κωδικό του στοιχείου προκύπτει ότι αυτό δεν ισχύει.

&usernameField=`email`- καθορίζει ότι το πεδίο email θα χρησιμοποιηθεί ως όνομα χρήστη.

&usergroupsField=`reg_type`- ορίζει ένα πεδίο που καθορίζει την ομάδα στην οποία θα προστεθεί ο νέος χρήστης.

&customValidators=`valueIn`- καθορίζει πρόσθετους επικυρωτές που πρέπει να δημιουργηθούν με μη αυτόματο τρόπο.

&επικυρώνω– οι επικυρωτές καθορίζονται διαχωρισμένοι με κόμματα για κάθε πεδίο, και εάν απαιτούνται πολλοί επικυρωτές για ένα πεδίο, διαχωρίζονται επίσης με άνω και κάτω τελεία. Ας τα δούμε ξεχωριστά:

όνομα χρήστη: κενό– μια απλή παγίδα ανεπιθύμητης αλληλογραφίας, σημαίνει ότι το πεδίο ονόματος χρήστη πρέπει να μείνει κενό.

reg_type:valueIn=^Readers;Writers;Idlers^- περιορίζουμε τις πιθανές ομάδες στις τρεις που υποδεικνύονται. Δεν υπάρχει κάτι τέτοιο στην αρχική διανομή και οι κακόβουλοι χάκερ μπορούν να εγγραφούν, για παράδειγμα, στην ομάδα Administrator (αν δεν την έχετε μετονομάσει).

fullname:required:minLength=^6^- το πεδίο πλήρους ονόματος δεν πρέπει να είναι κενό και να περιέχει τουλάχιστον 6 χαρακτήρες.

password:required:minLength=^6^- παρόμοια για τον κωδικό πρόσβασης.

password_confirm:password_confirm=^password^- οι κωδικοί πρέπει να ταιριάζουν.

email:required:email– το email δεν πρέπει να είναι κενό και να είναι πραγματική αλληλογραφία.

Σχέδιο [[!+error.message:default=`[[!$Register.Form]]`]]εμφανίζει ένα μήνυμα σχετικά με την επιτυχή υποβολή της φόρμας ή του τμήματος της φόρμας, εάν μόλις επισκεφτήκατε τη σελίδα ή τη συμπληρώσατε λανθασμένα.

Ας δημιουργήσουμε τον παραπάνω επικυρωτή αξίαΣε. Για να το κάνετε αυτό, δημιουργήστε ένα απόσπασμα με το όνομα αξίαΣεκαι τον παρακάτω κωδικό:

$valueIn = explode(";", $param); return in_array($value, $valueIn);

Τώρα πρέπει να δημιουργήσετε ένα κομμάτι Εγγραφή.Φόρμα . Σε αυτήν την περίπτωση θα είναι ως εξής (χρησιμοποιείται το Bootstrap 3):

[[!+reg.error.fullname:notempty=`
[[!+reg.error.fullname]]
`]]
[[!+reg.error.email:notempty=`
[[!+reg.error.email]]
`]]
[[!+reg.error.password:notempty=`
[[!+reg.error.password]]
`]]
[[!+reg.error.password_confirm:notempty=`
[[!+reg.error.password_confirm]]
`]]

Όλα τα πεδία είναι υποχρεωτικά

Σε αυτή τη φόρμα θα σημειώσω μερικά πράγματα σχετικά με το MODX:


– η επεξεργασία της φόρμας γίνεται στην ίδια σελίδα στην οποία εμφανίζεται.

Ρύθμιση της τιμής από αυτές που λαμβάνονται από τη φόρμα ώστε σε περίπτωση αποτυχίας ο χρήστης να μην χρειάζεται να τα εισάγει ξανά όλα.

[[!+reg.error.email:notempty=`[[!+reg.error.email]]`]]– και πάλι, σε περίπτωση αποτυχίας, θα εμφανιστεί ένα μήνυμα σφάλματος κάτω από το πεδίο.

– φροντίστε να υποδείξετε το όνομα του κουμπιού εάν έχετε ορίσει προηγουμένως την ιδιότητα &submitVar.


Τώρα το μόνο που μένει είναι να δημιουργήσουμε ένα κομμάτι Email.Ενεργοποίηση με την επιστολή που στέλνει ο ιστότοπος στον χρήστη:

Ευχαριστούμε για την εγγραφή σας! Για να ενεργοποιήσετε τον λογαριασμό σας, επισκεφτείτε τον παρακάτω σύνδεσμο:

Ενεργοποιήστε τον λογαριασμό σας στο Example.Com

Μετά την ενεργοποίηση, θα μπορείτε να συνδεθείτε χρησιμοποιώντας το email και τον κωδικό πρόσβασής σας:

Σύνδεση:[[+email]]

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


Εδώ μπορείτε να χρησιμοποιήσετε σύμβολα θέσης με ονόματα πεδίων φόρμας. Λάβετε υπόψη ότι είναι γραμμένα χωρίς "reg". Προστίθεται επίσης ένα σύμβολο κράτησης θέσης [[+confirmUrl]], στο οποίο έχει ήδη δημιουργηθεί ο σύνδεσμος ενεργοποίησης, δεν χρειάζεται καν να κάνετε τίποτα.


Η τελευταία πινελιά στην τέχνη της εγγραφής ενός νέου λογαριασμού χρησιμοποιώντας το στοιχείο Σύνδεσηθα δημιουργηθεί μια σελίδα ενεργοποίησης. Χρησιμοποιούμε ένα κενό πρότυπο για αυτήν τη σελίδα και στο περιεχόμενο της σελίδας χρειάζεται μόνο να καθορίσετε μια κλήση ετικέτας:

[[!Επιβεβαίωση Εγγραφής; &redirectTo=`1`]]

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


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

Ας το προσθέσουμε καλώντας το στη σωστή θέση:

[[!Σύνδεση? &loginTpl=`Auth.Login` &logoutTpl=`Auth.Logout` &errTpl=`Auth.Login.Error` &actionKey=`action` &loginKey=`login` &redirectToPrior=`1` &logoutResourceId=`1`]]

Εδώ καθορίζουμε ένα κομμάτι με τη φόρμα σύνδεσης που σχεδιάστηκε παραπάνω ( &loginTpl=`Auth.Login`), ένα κομμάτι με έναν κωδικό που εμφανίζεται στους εξουσιοδοτημένους χρήστες ( &logoutTpl=`Auth.Logout`), ένα μικρό κομμάτι με έξοδο σφάλματος σύνδεσης ( &errTpl=`Auth.Login.Error`). Ακολουθούν οι παράμετροι:

&actionKey=`ενέργεια`Και &loginKey=`σύνδεση`- κύρια αναγνωριστικά για την επεξεργασία αιτημάτων. Το πρώτο σημαίνει το όνομα της παραμέτρου στο αίτημα POST και το δεύτερο σημαίνει την τιμή της. Δηλαδή, η φόρμα πρέπει να περάσει την τιμή $_POST["action"]="login" έτσι ώστε το απόσπασμα Σύνδεσητο επεξεργάστηκε.

&redirectToPrior=`1`- σημαίνει ότι μετά τη σύνδεση θα μεταφερθούμε στην ίδια σελίδα από την οποία μπήκαμε.

&logoutResourceId=`1`- κατά την έξοδο από το προφίλ θα μεταβούμε στη σελίδα με το ID 1.


Chunk Auth.Login :

[[!+λάθη]]

Η επεξεργασία του εντύπου γίνεται στην ίδια σελίδα. Εάν παρουσιαστεί κάποιο σφάλμα, θα εμφανιστεί κάτω από τη φόρμα στο σύμβολο κράτησης θέσης [[!+λάθη]].Πρέπει επίσης να θυμάστε συνδέσμους προς πόρους με Εγγραφή και ανάκτηση κωδικού πρόσβασης. Λάβετε υπόψη ότι στο πεδίο email name = "username" - είναι σε αυτό το πεδίο που το απόσπασμα αντιγράφει το email Κανω ΕΓΓΡΑΦΗ, και είναι μοναδικό στους χρήστες.


Chunk Auth.Logout:

[]` &tpl=`User.HeaderBadge` &innerJoin=`("modUserGroupMember":("ψευδώνυμο":"modUserGroupMember","on":"modUser.id = modUserGroupMember.member"), "modUserGroup":("ψευδώνυμο" :"modUserGroup", "on":"modUserGroupMember.user_group = modUserGroup.id"))` &select=`("modUserGroup":("group_name": "modUserGroup.name"))` ]]

Έξοδος από το προφίλ

Αυτό το τμήμα δεν είναι απαραίτητο εάν όλοι οι χρήστες ανήκουν στην ίδια ομάδα. Αλλά για να εμφανιστεί η ομάδα χρηστών, τα τυπικά αποσπάσματα που περιλαμβάνονται στο στοιχείο Σύνδεση δεν είναι αρκετά. Μπορείτε να γράψετε ένα απλό απόσπασμα για να εμφανίσετε το όνομα της ομάδας xPDO, ή μπορείτε να χρησιμοποιήσετε ένα έτοιμο απόσπασμα pdoUsersπεριλαμβάνονται στη συσκευασία pdoTools. Παράμετροι που καθορίζονται σε αυτό το απόσπασμα:

&users=`[[+modx.user.id]]`- επιλέξτε μόνο τον τρέχοντα εξουσιοδοτημένο χρήστη.

&tpl=`User.HeaderBadge`- ένα κομμάτι στο οποίο θα εμφανίζουμε σύντομες πληροφορίες για τον χρήστη.

&εσωτερική σύνδεση– JSON με ενώσεις πινάκων ομάδων χρηστών, η περιγραφή ξεφεύγει από το πεδίο εφαρμογής του άρθρου. Το κύριο πράγμα είναι ότι λειτουργεί J.

&επιλέγω– JSON που προσθέτει το πεδίο modUserGroup.name με το ψευδώνυμο group_name στην επιλογή.


Κομμάτι με σήμα χρήστη User.HeaderBadge :

Εχετε συνδεθεί ως [[+όνομα_ομάδας]][[+πλήρες όνομα]] Προσωπικός λογαριασμός

Εάν δεν χρειαζόμασταν την ομάδα χρηστών, τότε τα περιεχόμενα αυτού του κομματιού θα μπορούσαν να εισαχθούν απευθείας στο κομμάτι Auth.Logout . Εδώ μπορείτε να εμφανίσετε σύμβολα κράτησης θέσης με οποιαδήποτε πεδία modUser και modUserProfile συν τη χρήση pdoUsersπροστέθηκε πεδίο όνομα ομάδας.


Στο κομμάτι Auth.Login.Error απλή έξοδος σφάλματος:

[[+msg]]

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

[[!Ξεχάσατε τον κωδικό? &tpl=`Auth.ForgotPass.Form` &submitVar=`forgotpass` &errTpl=`Auth.Login.Error` &sentTpl=`Auth.ForgotPass.Sent` &emailTpl=`Email.ForgotPass` &emailSubject=`Επαναφορά της πρόσβασης στο λογαριασμό σας ιστότοπος. Com` &resetResourceId=`29`]]

Ας δούμε τις παραμέτρους αυτής της κλήσης:

&tpl=`Auth.ForgotPass.Form`- ένα κομμάτι της φόρμας με την οποία ο χρήστης θα εισάγει το email του.

&submitVar=`ξέχασα το πέρασμα`- στην περίπτωση του αποσπάσματος ForgotPassword, αρκεί μια παράμετρος με το ίδιο όνομα να μεταβιβαστεί στον διακομιστή και δεν έχει σημασία ποια τιμή δεν είναι κενή.

&errTpl=`Auth.Login.Error` - έξοδος σφάλματος παρόμοια με το απόσπασμα σύνδεσης

&sentTpl=`Auth.ForgotPass.Sent`- αυτό το κομμάτι περιέχει το περιεχόμενο που θα εμφανιστεί εάν σταλεί με επιτυχία το email για την αλλαγή του κωδικού πρόσβασης.

&emailTpl=`Email.ForgotPass`- η ίδια η επιστολή περιέχεται εδώ.

&θέμα του μέιλ=`Επαναφορά πρόσβασης στον λογαριασμό σας στον ιστότοπο Example.Com` - ο τίτλος της επιστολής.

&resetResourceId=`29`- αναγνωριστικό του πόρου στον οποίο θα γίνει επαναφορά του κωδικού πρόσβασης σε νέο.


Μεγάλο κομμάτι Auth.ForgotPass.Form:

[[+loginfp.errors]]

Το μόνο νέο πράγμα εδώ είναι ένας διαφορετικός τρόπος εμφάνισης σφαλμάτων στο σύμβολο κράτησης θέσης [[+loginfp.errors]]και περνώντας την παράμετρο ότι η συγκεκριμένη φόρμα επαναφέρει τον κωδικό πρόσβασης: .

Auth.ForgotPass.Sent:

Οι πληροφορίες ανάκτησης λογαριασμού έχουν σταλεί στο καθορισμένο email: [[+email]].

Μπορείτε να χρησιμοποιήσετε τα δεδομένα από την παραπάνω φόρμα εδώ.


Email.ForgotPass:

[[+πλήρες όνομα]],

Για να ενεργοποιήσετε τον νέο σας κωδικό πρόσβασης, επισκεφτείτε τον παρακάτω σύνδεσμο:

Θέλω νέο κωδικό πρόσβασης

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

Σύνδεση:[[+όνομα χρήστη]]

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

Ευχαριστώ,
Διαχείριση του ιστότοπου Example.Com

Όλα μοιάζουν πολύ με το κομμάτι του γράμματος ενεργοποίησης, μόνο ο κωδικός πρόσβασης εδώ δημιουργείται στο απόσπασμα.


Το τελευταίο βήμα είναι να δημιουργήσετε έναν πόρο στον οποίο θα μεταβεί ο χρήστης από το email για να ενημερώσει τον κωδικό πρόσβασης. Σε αυτόν τον πόρο χρειαζόμαστε μια κλήση:

[[!ResetPassword:empty=`

Δεν παραγγείλατε επαναφορά κωδικού πρόσβασης. Ίσως έχετε λάθος διεύθυνση. Μπορείτε να μεταβείτε στην κύρια σελίδα του ιστότοπου ή να χρησιμοποιήσετε το παραπάνω μενού.

`; &tpl=`Auth.ForgotPass.Reset`]]

Αυτός ο κωδικός θα εμφανίσει ένα μήνυμα εάν κάποιος επισκεφτεί ξαφνικά αυτή τη σελίδα ξανά ή απλά κατά λάθος. Και εάν ο κωδικός πρόσβασης επαναφερθεί με επιτυχία, θα εμφανιστεί ένα μήνυμα από το κομμάτι Auth.ForgotPass.Reset:

Ο κωδικός πρόσβασής σας επαναφέρθηκε με επιτυχία σε αυτόν που καθορίζεται στο email. Τώρα μπορείτε να συνδεθείτε με αυτόν τον κωδικό πρόσβασης. Μην ξεχάσετε να το αλλάξετε στο προφίλ σας.

Τώρα έχουμε ένα πλήρως λειτουργικό σύστημα εξουσιοδότησης και εγγραφής χρηστών. Η αλλαγή του προφίλ των εξουσιοδοτημένων χρηστών θα παραμείνει εκτός του πεδίου εφαρμογής αυτού του άρθρου.


1. Δημιουργήστε μια σελίδα εγγραφής και προσθέστε ένα απόσπασμα κλήσης σε αυτήν Κανω ΕΓΓΡΑΦΗ.

2. Δημιουργήστε κομμάτια με τη φόρμα εγγραφής Εγγραφή.Φόρμα και επιστολή ενεργοποίησης Email.Ενεργοποίηση.

3. Δημιουργήστε μια σελίδα επιβεβαίωσης εγγραφής και πραγματοποιήστε μια κλήση απόσπασμα σε αυτήν Επιβεβαίωση Εγγραφή.

4. Προσθέστε ένα απόσπασμα κλήσης Σύνδεσηόπου θέλουμε να τοποθετήσουμε τη φόρμα σύνδεσης και το σήμα εξουσιοδοτημένου χρήστη.

5. Δημιουργήστε ένα κομμάτι με τη φόρμα σύνδεσης Auth.Είσοδος , ένα κομμάτι με πληροφορίες σχετικά με τον εξουσιοδοτημένο χρήστη Auth.Logout , κομμάτι με μήνυμα σφάλματος Auth.Login.Error .

6. Δημιουργήστε μια σελίδα ανάκτησης κωδικού πρόσβασης και πραγματοποιήστε μια κλήση απόσπασμα σε αυτήν Ξεχάσατε τον κωδικό.

7. Δημιουργήστε ένα κομμάτι Auth.ForgotPass.Form με φόρμα ανάκτησης κωδικού πρόσβασης, κομμάτι Auth.ForgotPass.Sent με μήνυμα για την επιτυχή αποστολή της επιστολής, τεμάχιο Email.ForgotPass με ένα email επαναφοράς κωδικού πρόσβασης.

8. Δημιουργήστε έναν πόρο με μια τελική επαναφορά κωδικού πρόσβασης και πραγματοποιήστε μια κλήση απόσπασμα σε αυτόν Επαναφέρετε τον κωδικό πρόσβασης.

9. Δημιουργήστε ένα κομμάτι Auth.ForgotPass.Reset με ένα μήνυμα που υποδεικνύει ότι ο κωδικός πρόσβασης επαναφέρθηκε με επιτυχία.

Αυτό είναι όλο. Θα χαρώ για τυχόν προσθήκες και σχόλια.

Κατά τη δημιουργία εφαρμογών Ιστού, είναι σημαντικό να λαμβάνετε σοβαρά υπόψη την ασφάλεια, ειδικά όταν έχετε να κάνετε με τη λήψη δεδομένων από χρήστες.

Ένας γενικός κανόνας ασφαλείας είναι να μην εμπιστεύεστε κανέναν, επομένως δεν μπορείτε να βασίζεστε στους χρήστες να εισάγουν πάντα τις σωστές τιμές στις φόρμες. Για παράδειγμα, αντί να εισαγάγετε τη σωστή διεύθυνση email στο πεδίο, ο χρήστης μπορεί να εισαγάγει μια εσφαλμένη διεύθυνση ή ακόμα και κάποια κακόβουλα δεδομένα.

Όταν πρόκειται για επικύρωση δεδομένων χρήστη, μπορεί να γίνει είτε από την πλευρά του πελάτη (στο πρόγραμμα περιήγησης ιστού) είτε από την πλευρά του διακομιστή.

Προηγουμένως, η επικύρωση από την πλευρά του πελάτη μπορούσε να γίνει μόνο χρησιμοποιώντας JavaScript. Όλα όμως έχουν αλλάξει (ή σχεδόν έχουν αλλάξει), αφού με τη βοήθεια της HTML5 μπορεί να γίνει επικύρωση στο πρόγραμμα περιήγησης, χωρίς να χρειάζεται να γραφτούν πολύπλοκα σενάρια επικύρωσης σε JavaScript.

Επικύρωση φόρμας με χρήση HTML5

Η HTML5 παρέχει έναν αρκετά ισχυρό μηχανισμό που βασίζεται στα ακόλουθα χαρακτηριστικά ετικέτας : πληκτρολογήστε , μοτίβο και απαίτηση . Με αυτά τα νέα χαρακτηριστικά, μπορείτε να μεταφορτώσετε ορισμένες από τις λειτουργίες επικύρωσης δεδομένων στο πρόγραμμα περιήγησης.

Ας δούμε αυτά τα χαρακτηριστικά για να κατανοήσουμε πώς μπορούν να βοηθήσουν στην επικύρωση φόρμας.

χαρακτηριστικό τύπου

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

Ορισμένα πεδία εισαγωγής παρέχουν ήδη τυπικές μεθόδους επικύρωσης, χωρίς την ανάγκη εγγραφής πρόσθετου κώδικα. Για παράδειγμα, ελέγχει το πεδίο για να βεβαιωθεί ότι η εισαγόμενη τιμή ταιριάζει με το πρότυπο μιας έγκυρης διεύθυνσης email. Εάν εισαχθεί λανθασμένος χαρακτήρας σε ένα πεδίο, η φόρμα δεν μπορεί να υποβληθεί μέχρι να διορθωθεί η τιμή.

Δοκιμάστε να παίξετε με τις τιμές των πεδίων email στην παρακάτω επίδειξη.

Υπάρχουν επίσης άλλοι τυπικοί τύποι πεδίων, όπως π.χ , Και για την επικύρωση αριθμών, διευθύνσεων URL και τηλεφωνικών αριθμών, αντίστοιχα.

Σημείωση: Οι μορφές αριθμών τηλεφώνου διαφέρουν από χώρα σε χώρα λόγω διαφορών στον αριθμό των ψηφίων στους αριθμούς τηλεφώνου και των διαφορών στις μορφές. Ως αποτέλεσμα, η προδιαγραφή δεν καθορίζει έναν αλγόριθμο για τον έλεγχο αριθμών τηλεφώνου, επομένως τη στιγμή της σύνταξης αυτή η δυνατότητα δεν υποστηρίζεται ελάχιστα από τα προγράμματα περιήγησης.

Ευτυχώς για εμάς, η επικύρωση αριθμού τηλεφώνου μπορεί να γίνει χρησιμοποιώντας το χαρακτηριστικό πρότυπο, το οποίο παίρνει μια κανονική έκφραση ως όρισμα, την οποία θα εξετάσουμε στη συνέχεια.

χαρακτηριστικό μοτίβο

Το χαρακτηριστικό μοτίβο πιθανότατα θα κάνει πολλούς προγραμματιστές front-end να πηδήξουν από χαρά. Αυτό το χαρακτηριστικό δέχεται μια τυπική έκφραση (παρόμοια με τη μορφή τυπικής έκφρασης JavaScript) που θα χρησιμοποιηθεί για τον έλεγχο της ορθότητας των δεδομένων που εισάγονται στο πεδίο.

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

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

Οι τυπικές εκφράσεις (RegEX) είναι ένα ισχυρό, συνοπτικό και ευέλικτο εργαλείο για την αντιστοίχιση μιας σειράς κειμένου, όπως μεμονωμένους χαρακτήρες, λέξεις ή μοτίβα χαρακτήρων.

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

Ας δούμε μερικά παραδείγματα χρήσης κανονικών παραστάσεων για την επικύρωση της τιμής των πεδίων εισαγωγής.

Τηλεφωνικοί αριθμοί

Όπως αναφέρθηκε προηγουμένως, ο τύπος πεδίου tel δεν υποστηρίζεται πλήρως από προγράμματα περιήγησης λόγω ασυνέπειας στις μορφές αριθμών τηλεφώνου σε διάφορες χώρες.

Για παράδειγμα, σε ορισμένες χώρες η μορφή για τους αριθμούς τηλεφώνου αντιπροσωπεύεται ως xxxx-xxx-xxxx και ο ίδιος ο αριθμός τηλεφώνου θα είναι κάπως έτσι: 0803-555-8205 .

Η τυπική έκφραση που ταιριάζει αυτό το μοτίβο είναι: ^\d(4)-\d(3)-\d(4)$ . Σε κώδικα αυτό μπορεί να γραφτεί ως εξής:

Αλφαριθμητικές τιμές

απαιτούμενο χαρακτηριστικό

Αυτό είναι ένα χαρακτηριστικό Boolean που χρησιμοποιείται για να υποδείξει ότι πρέπει να συμπληρωθεί η τιμή ενός δεδομένου πεδίου προκειμένου να υποβληθεί η φόρμα. Όταν προσθέτετε αυτό το χαρακτηριστικό σε ένα πεδίο, το πρόγραμμα περιήγησης θα ζητήσει από τον χρήστη να συμπληρώσει αυτό το πεδίο πριν υποβάλει τη φόρμα.

Αυτό μας εξοικονομεί από την εφαρμογή επικύρωσης πεδίου με χρήση JavaScript, η οποία μπορεί να εξοικονομήσει λίγο χρόνο στους προγραμματιστές.

Για παράδειγμα: ή (για συμβατότητα XHTML)

Όλες οι επιδείξεις που έχετε δει παραπάνω χρησιμοποιούν το απαιτούμενο χαρακτηριστικό, ώστε να μπορείτε να το δοκιμάσετε προσπαθώντας να υποβάλετε τη φόρμα χωρίς να συμπληρώσετε κανένα πεδίο.

συμπέρασμα

Η υποστήριξη του προγράμματος περιήγησης για την επικύρωση φόρμας είναι αρκετά καλή και για τα παλαιότερα προγράμματα περιήγησης μπορείτε να χρησιμοποιήσετε polyfills.

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

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

Η «Προστασία για τους ανόητους» είναι ένα σύνολο μέτρων για την πρόληψη της εισαγωγής εσφαλμένων πληροφοριών σε μια φόρμα. Για παράδειγμα, εάν πρέπει να εισαγάγετε έναν θετικό αριθμό από το 0 έως το 10 σε ένα πεδίο, θα πρέπει να ελέγξετε ότι ο χρήστης δεν εισάγει κείμενο ή έναν αριθμό που δεν βρίσκεται στο καθορισμένο εύρος, π.χ. ο αριθμός δεν πρέπει να είναι μικρότερος από μηδέν και μεγαλύτερος από δέκα.

Γιατί εισάγονται λανθασμένες πληροφορίες; Αυτό γίνεται κυρίως για τρεις λόγους.

  1. Ο χρήστης έκανε κατά λάθος ένα λάθος, για παράδειγμα, διάβασε απρόσεκτα αυτό που έπρεπε να υποδείξει.
  2. Η ιστοσελίδα ζητά δεδομένα με διφορούμενο τρόπο, αφήνοντας τον χρήστη να μαντεύει και να μαντεύει τι πραγματικά θέλει. Ωστόσο, οι απόψεις του προγραμματιστή και του χρήστη δεν συμπίπτουν πάντα.
  3. Υπάρχουν αρκετοί άνθρωποι που αντιλαμβάνονται τις οδηγίες ως πρόκληση και προσπαθούν να κάνουν το αντίθετο. Τέτοιοι χρήστες αιτιολογούν κάπως έτσι: «Ναι, μου ζητούν να εισάγω έναν αριθμό. Τι θα συμβεί αν υποδείξω τα γράμματα;» Στη συνέχεια ζητούν προφανώς λανθασμένες πληροφορίες και βλέπουν σε τι οδηγεί.

Πρέπει να γίνει κατανοητό ότι η ακριβής και σωστή διατύπωση, αν και μειώνει την πιθανότητα σφαλμάτων, δεν σας γλιτώνει σε καμία περίπτωση από αυτά. Μόνο τεχνικά μέσα από την πλευρά του διακομιστή σας επιτρέπουν να επιτύχετε το απαιτούμενο αποτέλεσμα και να αποφύγετε την εισαγωγή εσφαλμένων πληροφοριών. Ωστόσο, η αναθεώρηση ή, όπως αποκαλείται επίσης, η επικύρωση από την πλευρά του πελάτη σάς επιτρέπει να ελέγχετε γρήγορα τα δεδομένα που εισάγει ο χρήστης για ορθότητα, χωρίς να στείλετε τη φόρμα στον διακομιστή. Αυτό εξοικονομεί χρόνο χρήστη και μειώνει το φόρτο στον διακομιστή. Από άποψη χρηστικότητας, υπάρχουν επίσης πλεονεκτήματα - ο χρήστης λαμβάνει αμέσως ένα μήνυμα σχετικά με το ποιες πληροφορίες εισήγαγε λανθασμένα και μπορεί να διορθώσει το λάθος του.

υποχρεωτικό πεδίο

Ορισμένα πεδία φόρμας πρέπει να συμπληρωθούν πριν σταλούν στον διακομιστή. Αυτό, για παράδειγμα, ισχύει για τη φόρμα εγγραφής, όπου απαιτείται να εισαγάγετε ένα login και έναν κωδικό πρόσβασης. Για να καθορίσετε τα απαιτούμενα πεδία, χρησιμοποιήστε το απαιτούμενο χαρακτηριστικό, όπως φαίνεται στο Παράδειγμα 1.

Παράδειγμα 1. Το απαιτούμενο χαρακτηριστικό

HTML5 IE 10+ Cr Op Sa Fx

υποχρεωτικό πεδίο

Σύνδεση:

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

Τα υποχρεωτικά πεδία πρέπει να συμπληρωθούν πριν από την υποβολή της φόρμας, διαφορετικά η φόρμα δεν θα σταλεί στον διακομιστή και το πρόγραμμα περιήγησης θα εκδώσει μια προειδοποίηση σχετικά με αυτό. Ο τύπος του μηνύματος εξαρτάται από το πρόγραμμα περιήγησης, για παράδειγμα το Chrome εμφανίζει μια επεξήγηση εργαλείου όπως φαίνεται στην Εικ. 1.

Ρύζι. 1. Το υποχρεωτικό πεδίο δεν συμπληρώνεται

Η ορθότητα των δεδομένων

Αρχικά, υπάρχουν δύο πεδία στα οποία ελέγχεται αυτόματα η εισαγωγή του χρήστη. Αυτή είναι μια διεύθυνση web και μια διεύθυνση email. Το Chrome ελέγχει επίσης το πεδίο ημερολογίου για εγκυρότητα, αλλά μόνο επειδή δεν διαθέτει διεπαφή κλικ σε ημερολόγιο. Οι ακόλουθοι κανόνες ισχύουν για αυτά τα στοιχεία.

  • Ηλεκτρονική διεύθυνση ( ) πρέπει να περιέχει το πρωτόκολλο (http://, https://, ftp://).
  • Διεύθυνση ηλεκτρονικού ταχυδρομείου ( ) πρέπει να περιέχει γράμματα ή αριθμούς πριν από το σύμβολο @, μετά από αυτό, μετά μια τελεία και έναν τομέα πρώτου επιπέδου.

Τα προγράμματα περιήγησης έχουν ελαφρώς διαφορετικές πολιτικές για την επαλήθευση των δεδομένων χρήστη. Για παράδειγμα, η Opera εισάγει αυτόματα το πρωτόκολλο http:// μπροστά από το εισαγόμενο κείμενο, ενώ άλλα προγράμματα περιήγησης το περιμένουν από τον χρήστη. Το Chrome και το Opera απαιτούν μια τελεία στη διεύθυνση email, ενώ ο Firefox δεν το απαιτεί.

Το Παράδειγμα 2 δείχνει μια φόρμα με απαιτούμενα πεδία στην οποία δύο πεδία επικυρώνονται από το πρόγραμμα περιήγησης.

Παράδειγμα 2: Ακρίβεια δεδομένων

HTML5 IE 10+ Cr Op Sa Fx

Η ορθότητα των δεδομένων

Συμπληρώστε τη φόρμα (όλα τα πεδία είναι απαραίτητα)

Ονομα:

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ:

Δικτυακός τόπος:

Η Opera ελέγχει μόνο ένα στοιχείο φόρμας εάν έχει χαρακτηριστικό όνομα.

Τι συμβαίνει στο Opera όταν εισάγετε λανθασμένα δεδομένα φαίνεται στην Εικ. 2.

Ρύζι. 2. Προειδοποίηση για λανθασμένα δεδομένα

Πρότυπο εισαγωγής

Ορισμένα δεδομένα δεν μπορούν να ταξινομηθούν σε έναν από τους τύπους στοιχείων φόρμας, επομένως πρέπει να χρησιμοποιήσετε ένα πεδίο κειμένου για αυτά. Ταυτόχρονα, εισάγονται σύμφωνα με ένα συγκεκριμένο πρότυπο. Έτσι, μια διεύθυνση IP περιέχει τέσσερις αριθμούς που χωρίζονται με μια τελεία (192.168.0.1), ο ταχυδρομικός κώδικας της Ρωσίας περιορίζεται σε έξι ψηφία (124007), ένας αριθμός τηλεφώνου περιέχει έναν κωδικό περιοχής και έναν συγκεκριμένο αριθμό ψηφίων, που συχνά χωρίζονται με παύλα (391 555-341-42), κ.λπ. Το πρόγραμμα περιήγησης πρέπει να καθορίσει ένα πρότυπο εισαγωγής έτσι ώστε να ελέγχει τα δεδομένα που εισάγει ο χρήστης σύμφωνα με αυτό. Για να γίνει αυτό, χρησιμοποιείται το χαρακτηριστικό πρότυπο και η τιμή του είναι μια κανονική έκφραση. Μερικές τυπικές τιμές παρατίθενται στον πίνακα. 1.

Το Παράδειγμα 3 σας ζητά να εισαγάγετε μια δεκαεξαδική τιμή χρώματος (#ffcc00) και εάν δεν βρίσκεται σε αυτό το εύρος, το πρόγραμμα περιήγησης εμφανίζει ένα μήνυμα σφάλματος.

Παράδειγμα 3. Πρότυπο εισαγωγής

HTML5 IE 10+ Cr Op Sa Fx

Εισαγωγή χρώματος

Εισαγάγετε τη δεκαεξαδική τιμή χρώματος (πρέπει να ξεκινά με #)

Στο Σχ. Το σχήμα 3 δείχνει μια προειδοποίηση στο πρόγραμμα περιήγησης Chrome.

Ρύζι. 3. Τα δεδομένα που εισάγατε δεν ταιριάζουν με το πρότυπο

Ακύρωση

Η επικύρωση δεν απαιτείται πάντα για μια φόρμα· για παράδειγμα, ένας προγραμματιστής θα θέλει να χρησιμοποιήσει μια καθολική λύση JavaScript και δεν θα χρειάζεται πλέον διπλό έλεγχο από το πρόγραμμα περιήγησης. Σε τέτοιες περιπτώσεις, πρέπει να απενεργοποιήσετε την ενσωματωμένη επικύρωση. Για να το κάνετε αυτό, χρησιμοποιήστε το χαρακτηριστικό novalidate της ετικέτας

. Το Παράδειγμα 4 δείχνει τη χρήση αυτού του χαρακτηριστικού.

Παράδειγμα 4: Κατάργηση επικύρωσης

HTML5 IE 10+ Cr Op Sa Fx

novalidate χαρακτηριστικό

Για παρόμοιο σκοπό, χρησιμοποιείται το χαρακτηριστικό formnovalidate, το οποίο προστίθεται στο κουμπί για την υποβολή της φόρμας, σε αυτήν την περίπτωση στην ετικέτα . Σε αυτήν την περίπτωση, η φόρμα από το παράδειγμα 4 θα μοιάζει με αυτό.