Visualizzazione risultati 1 fino 10 di 10

Discussione: Restrizione Accesso PHP

  1. #1
    Guest

    Predefinito Restrizione Accesso PHP

    Salve a tutti, oggi sono qui per chidere il vostro aiuto.
    Vorrei mettere nel mio sito una protezione ad una relativa "admin area" con cookie, adesso mi spiego meglio.
    Cè un login generale dove possono loggarsi tutti i registrati.
    Cè un admin area che per ora ci puo accedere chiunque.
    Io vorrei mettere un controllo cookie o credenziali di accesso in modo che l'admin area sia accessibile solo a chi mette i dati corretti.

    Login ---> (immetto nei campi vuoti username e pass) ---> Dopo il login posso accedere alla zona protetta grazie al login corretto dell'amministratore

    Ecco se potete rispondere mi fareste un grande favore, se vi serve altro chiedete.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    i cookie non sono per niente sicuri, visto che si possono modificare/creare facilissimamente.

    Dovresti usare le sessioni!.. Comunque come è strutturato il suo sistema login? Cioè, cosa salvi nei cookie? Il nick o solo un flag per sapere se si è loggati o meno? Nel primo caso, è sufficiente controllare che nick è con un semlice if; nel secondo caso, dovresti cambiare il flag (ad esempio passando da 1 per loggto a 2 per loggato + amministratore...).

    Ciao!

  3. #3
    Guest

    Predefinito

    Mi potresti fornire gentilmente il codice x il controllo attraverso username?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    se usi le sessioni: (come faccio io):

    Codice PHP:
    session_start(); //inizializzo l'uso delle sessioni in questa pagina
    if(!isset($_SESSION['nick'])) //controllo se esiste la sessione
    die('Non sei nemmeno loggato!');
    if(
    $_SESSION['nick'] == 'alemoppo') //se sono io
    echo '';//mostro la pagina (puoi usare include o altro...)...
    else
    echo
    'Accesso non consentito'; //puoi usare un redirect o altro...
    Ciao!

  5. #5
    Guest

    Predefinito

    grazie mille :) e buon natale :)

  6. #6
    Guest

    Predefinito

    uffi non mi va...
    ecco il codice della pagina di login, io vorrei che se mi logga correttamente mi porta alla home altrimenti da dati errati, e se mi logga correttamente vorrei che ci fosse una pagina redirect a tempo che dica "Utente $var_nomeutente Connesso !" e se quello che logga correttamente sono io mi porta lo stesso alla home ma una "home modificata" cioe' lui controlla i dati di login se sono io tramite un gioco di else e if mi fa vedere l'homepage con le mie cose per amministrare xD

    Non so se avete capito....

    Comunque il codice di login è

    Codice PHP:
    <?
    include('skin.php')
    ?>

    <script language="Javascript" type="text/javascript">
    <!--
    function controllapassword(modulo) {
    if (modulo.username.value == "") {
    alert("Errore : Inserire username!")
    modulo.username.focus()
    return false
    }
    if (modulo.password.value == "") {
    alert("Errore : Inserire password!")
    modulo.password.focus()
    return false
    }
    return true
    }
    -->
    </script>

    <?php

    session_start
    ();
    if(!isset(
    $_POST['submit'])){
    echo
    "<p align='center'><strong><font color='blue'>Black Tech Site </font>~blacktech.altervista.org/</strong></p><br>
    <center><b><font color='blue'>L</font>OGIN <font color='blue'>U</font>TENTI</b></center><br>
    <table border='0' cellspacing='1' cellpadding='0' width='300' align='center' bgcolor='#424242'><tbody>
    <tr><form action='#' onsubmit='return controllapassword(this)' method='post'> <input name='phpMyAdmin' type='hidden' value='V0N0db6Fl62QWr6eBkly75xAGn3' /><td>
    <table border='0' cellspacing='1' cellpadding='3' width='100%' bgcolor='#424242'><tbody>
    <tr>
    </tr>
    <tr>
    <td width='78'><font color='blue'>U</font>sername</td>
    <td width='6'>:</td>
    <td width='294'><input id='username' name='username' type='text' /></td>
    </tr>
    <tr>
    <td><font color='blue'>P</font>assword</td>
    <td>:</td>
    <td><input id='password' name='password' type='password' /></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input name='submit' type='submit' value='Esegui Login' /></td>
    </tr>
    </tbody></table>
    </td>
    </form></tr>
    </tbody></table>
    <br><br>
    <center><a href='/portal/index.php'>Home Page</a> | <a href='/reg_log/reg.php'>Registrati</a></center>
    "
    ;
    } else {
    include
    'config.php';
    include
    'connect.php';
    $user = mysql_real_escape_string($_POST['username']);
    $pass = mysql_real_escape_string($_POST['password']);

    $query = "SELECT * FROM members WHERE username = '{$user}' AND password = '{$pass}'";
    $result = mysql_query($query,$conn) or die("Errore query.");
    $num_rows = mysql_num_rows($result);

    if (
    $num_rows == '1'){
    echo
    "<center><font color='blue'>B</font>envenuto Utente<br><br><font color='blue'>T</font>i sei loggato correttamente!<br><br><font color='blue'>P</font>er accedere subito ai servizi riservati agli utenti registrati clicca il link qui sotto :<br><br><a href='/tools/tlist.php'>Tools , Guide e Tutorial !</a><br><br><br><font color='blue'>O</font>ppure se vuoi collegarti alla Home Page clicca il link qui sotto :<br><br><a href='/portal/index.php'>Home Page !</a></center>";


    session_register("logged");
    } else {
    echo
    "Dati errati : <a href='/reg_log/log.php'>Login</a> | <a href='/reg_log/reg.php'>Registrati</a>";
    }
    }

    ?>

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    1- il session_start va all'inizio della pagina, perché deve modificare dei dati nell'header!...
    2- non usare le session_register() .. Ma usa il superarray $_SESSION !

    Comunque, forse queste discussioni potrebbero interessarti: questa, questa.

    Ciao!

  8. #8
    Guest

    Predefinito

    uffi proprio non capisco aiutatemi o~o please!, il sorgente è quello di prima ! ma quando visito la pagina protetta mi dice che la sessione non esiste! potreste scrivermi il codice voi cosi poi me lo studio?

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    non c'é niente da studiare... cioè:

    il session_start() all'inizio e non usare le funzioni session_register() , ma preferire il super array $_SESSION. Correggendo queste due cose, lo script viene fuori in questo modo:

    Codice PHP:
    <?
    session_start
    ();
    include(
    'skin.php')
    ?>

    <script language="Javascript" type="text/javascript">
    <!--
    function controllapassword(modulo) {
    if (modulo.username.value == "") {
    alert("Errore : Inserire username!")
    modulo.username.focus()
    return false
    }
    if (modulo.password.value == "") {
    alert("Errore : Inserire password!")
    modulo.password.focus()
    return false
    }
    return true
    }
    -->
    </script>

    <?php
    if(!isset($_POST['submit'])){
    echo
    "<p align='center'><strong><font color='blue'>Black Tech Site </font>~blacktech.altervista.org/</strong></p><br>
    <center><b><font color='blue'>L</font>OGIN <font color='blue'>U</font>TENTI</b></center><br>
    <table border='0' cellspacing='1' cellpadding='0' width='300' align='center' bgcolor='#424242'><tbody>
    <tr><form action='#' onsubmit='return controllapassword(this)' method='post'> <input name='phpMyAdmin' type='hidden' value='V0N0db6Fl62QWr6eBkly75xAGn3' /><td>
    <table border='0' cellspacing='1' cellpadding='3' width='100%' bgcolor='#424242'><tbody>
    <tr>
    </tr>
    <tr>
    <td width='78'><font color='blue'>U</font>sername</td>
    <td width='6'>:</td>
    <td width='294'><input id='username' name='username' type='text' /></td>
    </tr>
    <tr>
    <td><font color='blue'>P</font>assword</td>
    <td>:</td>
    <td><input id='password' name='password' type='password' /></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input name='submit' type='submit' value='Esegui Login' /></td>
    </tr>
    </tbody></table>
    </td>
    </form></tr>
    </tbody></table>
    <br><br>
    <center><a href='/portal/index.php'>Home Page</a> | <a href='/reg_log/reg.php'>Registrati</a></center>
    "
    ;
    } else {
    include
    'config.php';
    include
    'connect.php';
    $user = mysql_real_escape_string($_POST['username']);
    $pass = mysql_real_escape_string($_POST['password']);

    $query = "SELECT * FROM members WHERE username = '{$user}' AND password = '{$pass}'";
    $result = mysql_query($query,$conn) or die("Errore query.");
    $num_rows = mysql_num_rows($result);

    if (
    $num_rows == '1'){
    echo
    "<center><font color='blue'>B</font>envenuto Utente<br><br><font color='blue'>T</font>i sei loggato correttamente!<br><br><font color='blue'>P</font>er accedere subito ai servizi riservati agli utenti registrati clicca il link qui sotto :<br><br><a href='/tools/tlist.php'>Tools , Guide e Tutorial !</a><br><br><br><font color='blue'>O</font>ppure se vuoi collegarti alla Home Page clicca il link qui sotto :<br><br><a href='/portal/index.php'>Home Page !</a></center>";


    $_SESSION['logged'] = $user;
    } else {
    echo
    "Dati errati : <a href='/reg_log/log.php'>Login</a> | <a href='/reg_log/reg.php'>Registrati</a>";
    }
    }

    ?>
    ....ho dato per scontato che il resto dello script sia funzionante....

    --

    Per verificare se funziona (io NON ho verificato), prova a visitare questa pagina prima senza loggarti, poi loggandoti:

    Codice PHP:
    <?php
    session_start
    ();
    if(isset(
    $_SESSION['logged']))
    echo
    'Benvenuto,'.$_SESSION['logged'];
    else
    echo
    'non sei loggato...';
    ?>
    Ciao!
    Ultima modifica di alemoppo : 26-12-2010 alle ore 01.00.17

  10. #10
    Guest

    Predefinito

    ok perfetto pure io avevo fatto cosi ma non funzionava, adesso ho trovato l'errore avevo dimenticato una '

    Grazie Mille Ancora adesso va! XD

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •