Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Nastavenie databázy:
* Vytvorte tabuľku: Najprv potrebujete tabuľku vo svojej databáze Oracle na ukladanie registračných informácií. Táto tabuľka by mala mať aspoň stĺpce:
* `user_id` (číslo, primárny kľúč, automatické inkrementovanie-Apex to zvládne)
* `username` (varchar2, jedinečné obmedzenie na zabránenie duplicitným používateľským menám)
* `Password` (varchar2, bezpečne uložte - pozri nižšie)
* `E -mail` (varchar2, jedinečné obmedzenie)
* `first_name` (varchar2)
* `Last_name` (varchar2)
* Ostatné príslušné polia podľa potreby (napr. Adresa, telefónne číslo)
* Zabezpečenie hesla: nikdy Uložte heslá do obyčajného textu. Používajte silný hashovací algoritmus ako Bcrypt alebo Argon2. Apex ich priamo nepodporuje, takže pravdepodobne budete potrebovať funkciu PL/SQL na spracovanie hashovania a overovania hesla. Príklady sú ľahko dostupné online.
`` sql
- príklad (ilustratívne - použite na výrobu správnu knižnicu)
Vytvorte alebo nahradiť funkciu hash_password (p_password vo varchar2)
Návrat varchar2
Je
v_hashed_password varchar2 (255);
Začať
- Vymeňte to robustným hashovacím algoritmom, ako je Bcrypt alebo Argon2
v_hashed_password:=dbms_crypto.hash (utl_raw.cast_to_raw (p_password), 2 /*dbms_crypto.hash_sh1*/); - -SH1 je neistý -vymeňte!
Return v_hashed_password;
Koniec;
/
`` `
2. Tvorba formy Apex:
* Vytvorte stránku: Vo svojej aplikácii Apex vytvorte novú stránku. Ako typ stránky vyberte možnosť „Formulár“.
* Vyberte tabuľku: V sprievodcovi stránkou vyberte tabuľku, ktorú ste vytvorili v kroku 1. Apex automaticky vygeneruje polia na základe stĺpcov tabuľky.
* Prispôsobte formulár: Sprievodca vytvára základnú formu. Teraz to prispôsobíte:
* štítky: Zmeňte štítky na užívateľsky príjemnejšie (napr. „Užívateľské meno“ namiesto „používateľského mena“).
* Typy položiek: Uistite sa, že sa používajú príslušné typy položiek (napr. „Password“ pre heslá, „e -mail“ pre e -mailové adresy).
* Validácia: Pridajte pravidlá validácie:
* Užívateľské meno: Zaistite jedinečnosť (pomocou funkcie PL/SQL alebo vstavanej validácie Apex).
* E -mail: Uistite sa, že platný formát e -mailu.
* heslo: Požiadavky na minimálnu dĺžku, zložitosť.
* Požadované polia: Podľa potreby označte potrebné polia.
* Manipulácia s heslom: Použite príslušný typ položky pre heslá („heslo“). Heslo bude automaticky maskované. Je zásadne v časti „Process“ vašej stránky, používajte svoju funkciu hashovania z kroku 1, aby ste hash heslo pred vložením do databázy.
* rozloženie: Upravte rozloženie pre lepšiu skúsenosť používateľa. Používajte regióny do polí súvisiacich so skupinami.
* správa o úspechu: Po úspešnej registrácii pridajte správu o úspechu. Môžete to urobiť prostredníctvom vetvy na inú stránku alebo v inline správe.
3. Apex procesy (na stránke):
* Vytvorte „proces“ (napr. „Vytvoriť používateľa“): Tento proces bude spracovať vloženie údajov do vašej tabuľky. Bude to:
* Procesný bod: „Po odoslaní“
* Typ procesu: `Pl/sql`
* pl/sql kód: Tento kód bude:
* Získajte predložené hodnoty.
* Hash heslo pomocou vašej funkcie z kroku 1.
* Do tabuľky vložte údaje (vrátane hashed hesla).
* Zvládajte potenciálne chyby (napr. Duplicitné používateľské meno, chyby databázy). Na zobrazenie chybových správ v Apex použite `apex_error.add_error. Príklad:
`` sql
Deklarovať
v_hashed_password varchar2 (255);
Začať
v_hashed_password:=hash_password (:p1_password); -:p1_password predpokladá, že vaša položka hesla je p1_password. Upravte podľa potreby
Vložte do your_table (user_id, používateľské meno, heslo, e -mail, first_name, last_name)
Hodnoty (your_table_seq.nextval ,:p1_username, v_hashed_password ,:p1_email ,:p1_first_name ,:p1_last_name);
Spáchanie;
- Pridajte správu o úspechu pomocou APEX_Util.set_session_state atď. Presmerovanie na stránku úspechu
Výnimka
Keď potom dup_val_on_index
Apex_error.add_error (p_message => 'používateľské meno alebo e -mail už existuje.');
Keď potom ostatní
Apex_error.add_error (p_message => sqlerm); - Zaznamenajte chybu pre ladenie
Vrátenie;
Koniec;
/
`` `
4. Vetvenie stránky (voliteľné):
* Vytvorte vetvu na presmerovanie používateľa na stránku úspechu po úspešnej registrácii. To sa dá dosiahnuť na základe stavu (napr. Skontrolujte, či je v procese nastavená premenná stavu relácie).
5. Bezpečnostné úvahy:
* Vstupné overenie: Vždy overte vstup používateľa na strane servera, aby ste zabránili injekcii SQL a iným útokom. Apex na to poskytuje zabudované mechanizmy, ale mali by ste vykonať aj ďalšie kontroly v kóde PL/SQL.
* https: Uistite sa, že vaša aplikácia APEX je doručená cez HTTPS na ochranu používateľských údajov počas prenosu.
* Pravidelné aktualizácie zabezpečenia: Udržujte svoju verziu Apex a softvér databázy aktuálne pomocou bezpečnostných záplat.
* Pravidlá hesla: Umiestnite silné zásady hesla (minimálna dĺžka, zložitosť).
Tento podrobný obrys vám pomôže vytvoriť bezpečný a funkčný registračný formulár v Oracle Apex. Nezabudnite nahradiť názvy zástupných symbolov (názvy tabuliek, názvy stĺpcov, názvy položiek) svojimi skutočnými názvami. Pre aplikáciu pripravenú na výrobu sú rozhodujúce správne zaobchádzanie s chybami a bezpečnosť. Zvážte použitie robustnejšej hashingovej knižnice namiesto uvedeného príkladu.