Creare un area protetta da password

« Older   Newer »
 
  Share  
.
  1. Copulis
         
     
    .

    User deleted


    In questa guida vi esporrò due modi differenti per creare un'area protetta basiliare...

    Metodo 1


    Occorrente che creeremo:

    1. login.html

    2. login2.php

    3. areaprotetta.php


    In login.html scriveremo la parte grafica del login.

    CODICE
    <form action=login2.php>
    <label for=pass>Inserisci la password:</label> <inputtype=password name=pass required=required /><br />
    <input type=submit value=Entra /></form>


    In login2.php ci sarà il vero cuore del nostro sistema di login in php. Ricordo di sostituire dove scritto tuapassword con la password richiesta per l'accesso.

    CODICE
    <html>
    <body>
    <?php
    if($_REQUEST['pass'] == "tuapassword") {
    header("Location: areaprotetta.php?logged=yes");
    }
    else {
    print("Password errata! <a href=# onclick='history.go(-1)">Indietro</a>");
    }
    ?></body>
    </html>


    Infine nell'area protetta inseriremo anche una base di php in modo che solo se autenticati è possibile vedere il contenuto.
    CODICE
    <html>
    <head>
    <!-- tua head -->

    </head>
    <body>
    <?php
    if($_REQUEST['logged'] == "yes") {
    print

    [size=14]<b>qui il codice dell'area protetta!</b>[/size]


    }
    else {
    print("Errore! Non hai i permessi per visualizzare questa pagina!");
    }
    ?>
    </body></html>




    Metodo 2
    A differenza del metodo 1, le funzioni di accesso sono sintetizzate in unico file php.

    Occorrente che creeremo:

    1. login.php

    2. areaprotetta.php


    In login.php sostituiamo password con la password per l'accesso come da commento nel codice:
    CODICE
    <html>
    <head>
    </head>
    <body>
    <?php
    if($_REQUEST['act'] == "1" ) {
    define("PASSWORD","<b>password</b>"); // Qui va la password
    if(isset($_REQUEST['pass']) {
    $pass = $_REQUEST['pass'];
    }
    else {
    print("Errore");
    }
    if($pass == PASSWORD) {
    header("Location: login.php?login=vbyes");
    }
    }
    elseif ($_REQUEST['login'] == "vbyes") {
    header("Location: areaprotetta.php?logged=true");
    }
    else {
    print
    <form>
    Password <input type=password required=required name=pass>
    <br><input value="Entra" type="submit"><br>
    </form>
    }
    ?>
    </body>
    </html>


    Infine in areaprotetta.php inseriremo lo stesso codice del Metodo 1.



    Guida derivata da Saffo´Blog ©Copyright Saffo´
     
    .
  2. Koskha
         
     
    .

    User deleted


    :|: Farò finta che questo post non sia mai esistito

    Mettiamo il caso che io carico la pagina con ?logged=yes senza prima mettere password né niente.... Non mi sembra sicuro. E non dire "chi potrebbe mai saperlo", una roba così si vede pure dalla cronologia, se devi proprio fare una cosa del genere, usa _POST e i COOKIE se proprio non vuoi usare le sessioni.

    ah comunque perché hai postato una guida di saffo?
     
    .
  3. Copulis
         
     
    .

    User deleted


    Mi sembrava interessante, sono un newbie del php e questo è uno dei primi codici che uso (dopo quelli per fare i fake login ) Comunque all'inizio ho scritto che è solo una base :O spero che saffo non si offenda se ho postato una sua guida :/ (l'ho citato alla fine)
     
    .
  4.      
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    1,708
    Reputazione
    +11
    Location
    Marsala

    Status
    QUOTO KOSKHA... Questo tipo di login è molto insicuro, dovresti usare la funzione cookie o le sessioni per qualcosa di piu sicuro tipo:

    CODICE
    <?
    //User e password
       $user = "dinco";
       $pass = "prova123";

       $username = $_POST["username"];
       $password = $_POST["password"];

    //Settaggio dei cookie
       if ($username == $user && $password == $pass)
       {
           setcookie("login", "OK", time() + 600);
           print "Benvenuto nella pagina protetta";
       }
       else
       {
           print "Password o Username sbagliato";
       }
    ?>


    Semplice no?
     
    .
  5. Koskha
         
     
    .

    User deleted


    CITAZIONE (Dinco @ 29/10/2012, 09:34) 
    QUOTO KOSKHA... Questo tipo di login è molto insicuro, dovresti usare la funzione cookie o le sessioni per qualcosa di piu sicuro tipo:

    CODICE
    <?
    //User e password
       $user = "dinco";
       $pass = "prova123";

       $username = $_POST["username"];
       $password = $_POST["password"];

    //Settaggio dei cookie
       if ($username == $user && $password == $pass)
       {
           setcookie("login", "OK", time() + 600);
           print "Benvenuto nella pagina protetta";
       }
       else
       {
           print "Password o Username sbagliato";
       }
    ?>


    Semplice no?

    Anche così puoi creare un cookie con scritto OK, le sessioni oppure cookie con le credenziali.
     
    .
  6.      
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    1,708
    Reputazione
    +11
    Location
    Marsala

    Status
    sono un genio :|:
     
    .
  7. andcas
         
     
    .

    User deleted


    Ciao a tutti sono nuovo mi potete dare una mano per favore ? Grazie :lol:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Documento senza titolo</title>
    </head>
    <body>
    <?
    $user = "andrea";
    $pass = "sergio";

    $username = $_POST["username"];
    $password = $_POST["password"];

    if ($username == $user && $password == $pass)
    {
    setcookie ("login", "OK", time() + 600);
    print "Benvenuto nella pagina protetta";
    header('Location: prova.html');
    }
    else
    {
    print "Password o Username sbagliato";
    }
    ?>
    </body>
    </html>
     
    .
  8. andcas
         
     
    .

    User deleted


    Ho risolto con questo grazie !!!

    Sotto l'evento Print.

    echo "<script>";
    echo "location.href='chat/chat/index.php'";
    echo "</script>";
     
    .
  9.      
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    1,708
    Reputazione
    +11
    Location
    Marsala

    Status
    Bene, siamo contenti che hai risolto il tuo problema, se hai sempre bisogno di qualcosa, chiedi pure :P
     
    .
  10. andcas
         
     
    .

    User deleted


    Ciao Andrea Di Dia
    Ti ringrazio della tua disponibilità ;)
     
    .
9 replies since 28/10/2012, 20:23   2744 views
  Share  
.
Top