1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Restrict Access to Page (em php)

Discussão em 'Web Development' iniciada por maningreen, 22 de Agosto de 2007. (Respostas: 4; Visualizações: 1334)

  1. maningreen

    maningreen Power Member

    Tenho um aplicação web que possui uma página "reservada" (restricted.php).
    Para aceder é necessário login. O login propriamente dito é feito por um script em php (o costume).
    Se for bem sucedido surge um link para a tal página "reservada". O link aparece pelo comando echo.
    Agora, para prevenir que alguem acesse á página restricted.php simplesmente inserindo o url no browser, preciso de quê? O DW tem o "restrict access to page" mas não me apetece levar com o código todo q aquilo gera, prefiro fazer a coisa por mim.
    Não sei se preciso de cookies ou sessions , pq só uma pagina tem acesso restricto.
    Se utilizar uma Session, devo gerar a mesma no script login.php (do género:se for bem sucedido, gerar a variável session)?


    Thanks.

    mig
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    No login.php podes, quando é inserido um login, fazer um cookie (ou variáveis de sessão), e no restricted.php verificas se existem e validas.

    Em alternativa, podes usar o www auth:
    PHP:
                if ($_SERVER["PHP_AUTH_USER"]=="") {
                    
    header("HTTP/1.0 401 Unauthorized");
                    
    header("WWW-Authenticate: Basic realm=\"Please login.\"");
                } else {
                    if (
    $_SERVER["PHP_AUTH_USER"]=="utilizador" && $_SERVER["PHP_AUTH_PW"]=="password") {
                         echo 
    "Password correcta!";
                    } else {
                         echo 
    "Password errada!";
                    }
                }    
     
  3. nopaysoft

    nopaysoft Power Member

    Não tão complexa mas acho que tb resulta:

    Isto no <head>
    Código:
    <?php
    defined( '_VALID_MOS' ) or die( 'Acesso directo a esta localização não está permitida... Tem de ter uma conta para aceder...' );
    ?> 
    Cumps
     
  4. karva

    karva Power Member

    O melhor é no script de login pores algo do tipo:

    <?
    //o script
    $_SESSION['loggedin'] = true;
    ?>

    e na tal página restrita, antes de mais nada:

    <?
    if ($_SESSION['loggedin'] != true) {
    Header("Location: login.php");
    }
    ?>
     
  5. maningreen

    maningreen Power Member

    Feito!

    Feito.

    Basicamente acrescentei ao script de login a variavel session. "IF" o login válido, instancia um valor à variável.

    As coisas mais simples são sempre as mais complicadas :)

    Obrigado.

    Mig
     

Partilhar esta Página