Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Accesso solo ad admin

  1. #1

    Accesso solo ad admin

    per sono riuscito a fare in modo che alle funzioni di inserimento/modifica/elimina possano accederci solo i registrati.
    il controllo lo faccio tramite check.php:
    Codice PHP:
    <?php //check.php

    @session_start();
    if (!
    session_is_registered('autorizzato')) {
        echo 
    "

    Effettua il login</p>"
    ;
        echo 
    '[url="../../index.php"]Home[/url] | ';
        echo 
    '[url="../../login.php"]Login[/url]';
        die;
    }
    ?>
    includo questo a inizio pagina.
    funziona tutto, però vorrei ad esempio che solo l'utente admin possa accedere alla pagina di eliminazione.
    vi posto elimina.php e login.php:
    Codice PHP:
    <?php

    include '../../check.php';
    ?>
    <?php 
    //elimina.php

    include_once 'config.php';
    $id $_GET['id'];
    $link mysql_connect($host$user$password) or die("Non è possibile connettersi al server
    "
    );
    $conn mysql_select_db($db$link) or die("Non è possibile connettersi al db
    "
    );
    $query "delete from articoli2 where id='" $id "'";
    mysql_query($query$link) or die(mysql_error($link));
    echo 
    '<script language="javascript">document.location.href="index.php"</script>';
    ?>
    Codice PHP:
    <?php //login.php
    include_once 'config.php';
    $link mysql_connect($host$user$password) or die("Non è possibile connettersi al server
    "
    );
    $conn mysql_select_db($db$link) or die("Non è possibile connettersi al db
    "
    );
    session_start();
    if (isset(
    $_POST['invio'])) {
        
    $user $_POST['user'];
        
    $pass $_POST['pass'];
        
    $query "select * from utenti where nome='" $user "'";
        
    $result mysql_query($query$link) or die(mysql_error($link));
        
    $riga mysql_fetch_row($result);
        if (
    $riga[0] != $user || $riga[0] == "") {
            
    $destinazione "destroy.php";
        } else {
            if (
    $riga[1] == $pass) {
                
    session_register('autorizzato');
                
    $_SESSION["autorizzato"] = $user;
                
    $destinazione "index.php";
            } else {
                
    $destinazione "destroy.php";
            }
        }
        echo 
    '<script language="javascript">document.location.href="' $destinazione '"</script>';
    } else {
    ?>
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title>Login</title>
            </head>
            <body>
                [url="index.php"]Home[/url]
                <form method="post" name="inserisci" action="#">
                    <table>
                        <tr>
                            <td>User:</td>
                            <td><input type="text" name="user" /></td>
                        </tr>
                        <tr>
                            <td>Password:</td>
                            <td><input type="password" name="pass" /></td>
                        </tr>
                        <tr>
                            <td><input type="submit" name="invio" value="Invio" /></td>
                        </tr>
                    </table>
                </form>
            <?php
            
    if ($_GET['err'] == 1) {
                echo 
    "Login errato";
                echo 
    "

    "
    ;
            }
            
    ?>
        </body>
    </html>
    <?php
        
    }
    ?>
    dove lo metto il controllo per uno specifico utente??

  2. #2
    basta fare un'altra pagina chiamata per esempio check_admin.php
    che controlli se un utente è admin, e includerla nelle pagine cui vuoi limitare l'accesso ai soli amministratori

  3. #3
    Lo devi mettere dentro le pagine ad accesso specifico.

    Inoltre dovresti portarti dietro il nome (o il gruppo se lo hai previsto) dell'utente in modo tale da controllare chi sta cercando di accedere all'area riservata!

  4. #4
    ho messo così:
    Codice PHP:
    <?php //elimina.php
    @session_start();
    if (!
    session_is_registered('autorizzato') || $_SESSION['autorizzato'] != "admin") {
        echo 
    "

    Effettua il login come amministratore</p>"
    ;
        echo 
    '[url="login.php"]Login[/url]';
        die;
    } else {
        echo 
    "

    Buongiorno " 
    $_SESSION['autorizzato'];
    }
    ?>
    <?php
    include_once 'config.php';
    $id $_GET['id'];
    $link mysql_connect($host$user$password) or die("Non è possibile connettersi al server
    "
    );
    $conn mysql_select_db($db$link) or die("Non è possibile connettersi al db
    "
    );
    $query "delete from articoli2 where id='" $id "'";
    mysql_query($query$link) or die(mysql_error($link));
    echo 
    '<script language="javascript">document.location.href="index.php"</script>';
    ?>
    (anche se so che sarebbe meglio fare un altro file, ma per un esempio veloce va bene).
    devo solo aggiustare il login, nel senso che mi sono accorto che posso loggarmi con un utente e poi effettuare direttamente il login da admin senza fareil logout...

  5. #5
    la query del file login deve avere come condizione anche la password e devi eseguire assolutamente l'escape delle stringhe
    Codice PHP:
    $query "select * from utenti where nome='" $user "'"// nn va bene 

  6. #6
    Originariamente inviato da oly1982
    la query del file login deve avere come condizione anche la password e devi eseguire assolutamente l'escape delle stringhe
    Codice PHP:
    $query "select * from utenti where nome='" $user "'"// nn va bene 
    qualcosa del genere?:
    Codice PHP:
        $user mysql_real_escape_string($_POST['user']);
        
    $pass mysql_real_escape_string($_POST['pass']);
        
    $query "select * from utenti where nome='" $user "' and password='" $pass "'"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.