λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> SQL Server

Πώς δημιουργείτε μια φόρμα εγγραφής χρησιμοποιώντας τη βάση δεδομένων Oracle Apex;

Η δημιουργία μιας φόρμας εγγραφής στην Oracle Apex περιλαμβάνει διάφορα βήματα. Ακολουθεί μια ανάλυση της διαδικασίας, υποθέτοντας ότι έχετε μια βασική κατανόηση της κορυφής:

1. Ρύθμιση βάσης δεδομένων:

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

* `user_id` (αριθμός, πρωτεύον κλειδί, auto-incrementing-apex μπορεί να το χειριστεί αυτό)

* `username` (varchar2, μοναδικός περιορισμός για την πρόληψη διπλών ονόματος χρήστη)

* `password` (varchar2, αποθηκεύστε με ασφάλεια - δείτε παρακάτω)

* `Email` (varchar2, μοναδικός περιορισμός)

* `first_name` (varchar2)

* `last_name` (varchar2)

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

* Ασφάλεια κωδικού πρόσβασης: Ποτέ Αποθηκεύστε κωδικούς πρόσβασης σε απλό κείμενο. Χρησιμοποιήστε έναν ισχυρό αλγόριθμο κατακερματισμού όπως το BCrypt ή το Argon2. Το APEX δεν υποστηρίζει άμεσα αυτά, οπότε πιθανότατα θα χρειαστείτε μια λειτουργία PL/SQL για να χειριστείτε τον κωδικό πρόσβασης και την επαλήθευση. Παραδείγματα είναι άμεσα διαθέσιμα στο διαδίκτυο.

`` sql

- Παράδειγμα (επεξηγηματικό - Χρησιμοποιήστε μια σωστή βιβλιοθήκη για παραγωγή)

Δημιουργία ή αντικατάσταση της συνάρτησης hash_password (p_password στο varchar2)

Επιστροφή varchar2

Είναι

V_HASHED_PASSWORD VARCHAR2 (255);

ΑΡΧΙΖΩ

- Αντικαταστήστε αυτό με έναν ισχυρό αλγόριθμο κατακερματισμού όπως το BCrypt ή το Argon2

v_hashed_password:=dbms_crypto.hash (utl_raw.cast_to_raw (p_password), 2 /*dbms_crypto.hash_sh1*/); -Το SSH1 είναι ανασφαλές -αντικαταστήστε!

Επιστροφή v_hashed_password;

ΤΕΛΟΣ;

/

`` `

2. Δημιουργία φόρμας κορυφής:

* Δημιουργήστε μια σελίδα: Στην εφαρμογή Apex, δημιουργήστε μια νέα σελίδα. Επιλέξτε "φόρμα" ως τον τύπο σελίδας.

* Επιλέξτε τον πίνακα: Στον οδηγό σελίδας, επιλέξτε τον πίνακα που δημιουργήσατε στο βήμα 1. Το APEX θα δημιουργήσει αυτόματα πεδία με βάση τις στήλες πίνακα σας.

* Προσαρμόστε τη φόρμα: Ο οδηγός δημιουργεί μια βασική μορφή. Τώρα θα το προσαρμόσετε:

* Ετικέτες: Αλλάξτε τις ετικέτες για να είναι πιο φιλικές προς το χρήστη (π.χ. "Όνομα χρήστη" αντί "Όνομα χρήστη").

* Τύποι στοιχείων: Βεβαιωθείτε ότι χρησιμοποιούνται κατάλληλοι τύποι στοιχείων (π.χ. `κωδικός πρόσβασης 'για κωδικούς πρόσβασης,` Email` για διευθύνσεις email).

* Επικύρωση: Προσθήκη κανόνων επικύρωσης:

* Όνομα χρήστη: Εξασφαλίστε τη μοναδικότητα (χρησιμοποιώντας μια συνάρτηση PL/SQL ή την ενσωματωμένη επικύρωση της APEX).

* Email: Βεβαιωθείτε ότι μια έγκυρη μορφή email.

* Κωδικός πρόσβασης: Ελάχιστο μήκος, απαιτήσεις πολυπλοκότητας.

* Απαιτούμενα πεδία: Σημειώστε τα απαραίτητα πεδία όπως απαιτείται.

* Χειρισμός κωδικού πρόσβασης: Χρησιμοποιήστε έναν κατάλληλο τύπο στοιχείου για κωδικούς πρόσβασης (`Password '). Ο κωδικός πρόσβασης θα καλυφθεί αυτόματα. Βασικά, στην ενότητα "Διαδικασία" της σελίδας σας, χρησιμοποιήστε τη λειτουργία κατακερματισμού σας από το βήμα 1 για να κατακερματιστεί ο κωδικός πρόσβασης προτού εισαχθεί στη βάση δεδομένων.

* διάταξη: Ρυθμίστε τη διάταξη για καλύτερη εμπειρία χρήστη. Χρησιμοποιήστε περιοχές για να ομαδοποιήσετε τα πεδία που σχετίζονται με την ομαδοποίηση.

* Μήνυμα επιτυχίας: Προσθέστε ένα μήνυμα επιτυχίας μετά την επιτυχή εγγραφή. Μπορείτε να το κάνετε αυτό μέσω ενός κλάδου σε άλλη σελίδα ή σε ένα inline μήνυμα.

3. Διαδικασίες κορυφής (στη σελίδα):

* Δημιουργία μιας "διαδικασίας" (π.χ., "Δημιουργία χρήστη"): Αυτή η διαδικασία θα χειριστεί την εισαγωγή δεδομένων στον πίνακα σας. Θα:

* Σημείο διαδικασίας: «Μετά την υποβολή»

* Τύπος διαδικασίας: `Pl/sql '

* PL/SQL Κωδικός: Αυτός ο κωδικός θα:

* Αποκτήστε τις υποβληθείσες τιμές.

* Hash Ο κωδικός πρόσβασης χρησιμοποιώντας τη λειτουργία σας από το βήμα 1.

* Τοποθετήστε τα δεδομένα (συμπεριλαμβανομένου του κωδικού πρόσβασης Hashed) στον πίνακα σας.

* Χειριστείτε πιθανά σφάλματα (π.χ. διπλότυπο όνομα χρήστη, σφάλματα βάσης δεδομένων). Χρησιμοποιήστε το `apex_error.add_error` για να εμφανίσετε μηνύματα σφάλματος στην κορυφή. Παράδειγμα:

`` sql

ΔΗΛΩΝΩ

V_HASHED_PASSWORD VARCHAR2 (255);

ΑΡΧΙΖΩ

v_hashed_password:=hash_password (:p1_password); -:Το P1_Password υποθέτει ότι το στοιχείο του κωδικού πρόσβασής σας είναι P1_Password. Ρυθμίστε ανάλογα με τις ανάγκες

Εισαγάγετε στο our_table (user_id, όνομα χρήστη, κωδικός πρόσβασης, email, first_name, last_name)

Τιμές (your_table_seq.nextval ,:p1_username, v_hashed_password ,:p1_email ,:p1_first_name ,:p1_last_name);

ΔΙΑΠΡΑΤΤΩ;

- Προσθέστε ένα μήνυμα επιτυχίας χρησιμοποιώντας το apex_util.set_session_state κ.λπ.

ΕΞΑΙΡΕΣΗ

Όταν τότε dup_val_on_index τότε

Apex_error.add_error (p_message => 'username ή e -mail ήδη υπάρχει.');

Όταν άλλοι τότε

Apex_error.add_error (p_message => sqlerrm); - Καταγράψτε το σφάλμα για εντοπισμό σφαλμάτων

Rollback;

ΤΕΛΟΣ;

/

`` `

4. Διακλάδωση σελίδας (προαιρετικό):

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

5. Σκέψεις ασφαλείας:

* Επικύρωση εισόδου: Πάντα επικυρώνετε την είσοδο του χρήστη στην πλευρά του διακομιστή για να αποτρέψετε την ένεση SQL και άλλες επιθέσεις. Το APEX παρέχει ενσωματωμένους μηχανισμούς για αυτό, αλλά θα πρέπει επίσης να εκτελέσετε πρόσθετους ελέγχους στον κωδικό PL/SQL.

* https: Βεβαιωθείτε ότι η εφαρμογή APEX σας εξυπηρετείται μέσω HTTPS για την προστασία των δεδομένων χρήστη κατά τη διάρκεια της μετάδοσης.

* Τακτικές ενημερώσεις ασφαλείας: Κρατήστε την έκδοση Apex και το λογισμικό βάσης δεδομένων ενημερωμένο με τα ενημερωτικά επιθέματα ασφαλείας.

* Πολιτικές κωδικού πρόσβασης: Επιβάλλουν ισχυρές πολιτικές κωδικού πρόσβασης (ελάχιστο μήκος, πολυπλοκότητα).

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα