Jump to content
psilvaj

Bloquear acesso a determinado endereço web

Recommended Posts

psilvaj

Boas.

Antes de mais queria pedir desculpa caso não esteja a colocar a questão no local correcto, mas não sabia enquadrar bem o assunto.

Eu desenvolvi uma página que deve ser só acedida através de um login. Mas a questão é que assim que souberem o endereço basta colocar o endereço completo vou directamente para lá sem passar no login.

Eu já tenho a página do login feita a redireccionar para a página que quero, mas precisava de bloquear o link directo.

Como posso fazer isso?

Share this post


Link to post
Share on other sites
softklin

Se usares PHP, deve bastar no topo dos documentos .php colocar uma verificação se a sessão está ou não iniciada, e se não estiver, redireccionar para a página de login. Precisas de sessões para fazer isto.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
psilvaj

Se usares PHP, deve bastar no topo dos documentos .php colocar uma verificação se a sessão está ou não iniciada, e se não estiver, redireccionar para a página de login. Precisas de sessões para fazer isto.

Ok, já percebi. Eu nunca fiz sessões. É complicado?

Tem Uma sugestão de um bom tutorial.

Share this post


Link to post
Share on other sites
yoda

Bom ou mau, aqui vai um : http://php.about.com/od/advancedphp/ss/php_sessions.htm

Não é complicado trabalhar com sessões, é bastante simples, dependendo do nível de envolvimento que se pretende no processo .. mas no teu caso, parece-me que não precisas de muito, pelo que deve manter-se simples de perceber e usar.

Share this post


Link to post
Share on other sites
softklin

O conceito básico é ter no topo de cada página (logo após <?php ), colocar a chamada ao início/continuação de sessão:

session_start()

incluindo a página de login. Na parte em que o utilizador é autenticado com sucesso, crias uma sessão com a informação sobre o utilizador, por exemplo

$_SESSION['userlogado'] = TRUE;
$_SESSION['username'] = "nome do utilizador";

Depois da chamada à função session_start, podes aceder a esta variável em qualquer página, à semelhança de uma variável global noutras linguagens. Tudo o que tens a fazer agora é, em cada página que não queres que o utilizador aceda, tens de verificar se a sessão existe, e se não existir, é porque não passou no login, e redireccionas. Pode ser algo assim:

session_start();

// verificar se a sessão foi iniciada
if (empty($_SESSION['userlogado']) || $_SESSION['userlogado'] != TRUE) {
  // o utilizador não está logado, voltar para o login
  header('Location: login.php');
  exit();
}

// se o user estiver logado, a página continua normalmente

No logout, deves terminar a sessão com um session_destroy, e quiçá, limpar a variável de sessão manualmente.

Se quiseres perceber mais de sessões e como fucionam internamente, aconselho-te a leres o link que o Yoda te deu, ou então no manual oficial do PHP:

http://www.php.net/manual/en/book.session.php

NOTA: Se tiveres dúvidas nalguma função, podes clicar nela e abre o website do PHP com a informação da documentação, ou deixa aqui a tua dúvida, se não a conseguires tirar lá  :thumbsup:


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.