Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nimaro

[Resolvido] Pergunta sobre proteccao de WebSite

Recommended Posts

Boas tardes,

 

Estou a construir 1 site... e estou a construi-lo atraves de ficheiros php ligados entre si. No index.php existe uma area onde um utilizador do sistema pode fazer login e dai ter acesso a outras areas.

 

Estou a construir o site localmente, só depois é que o colocarei alocado na web. A minha questao diz respeito a proteccao de area apenas destina aos utilizadores.

 

Por exemplo, se eu quiser aceder as outras areas sem ir pela area de login, ou seja... chegar a barra de endereços e colocar secretel/pagina_depois_login.php ele acede-me a esta area, sem que tenha tido de fazer login. A unica coisa é que onde mando imprimir o nome do utilizador ele da erro; mas consigo aceder livremente ao resto do programa.

 

A unica solução que consigo imaginar para este caso, que é a de colocar uma condição no inicio da pagina que caso o $_SESSION['username'] for vazio ele volta para trás ou entao dará uma mensagem de erro.

 

Não sei se esta é uma grande solução... por isso queria-vos perguntar a forma como devo fazer!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom no seu login (quando a pessoa está logada) voce grava em uma sessao?

Eu costumo fazer assim..

Crio um arquivo libera.php

 

session_start();
  
function check(){
  if(session_is_registered("NOMEDASUASECAO")){
    if($_SESSION["acesso"] != "libera"){
	    header("Location: login.php");
	}
  }else{
    header("Location: login.php");
  }
}

Verifico se a sessao esta registrada e outra sessao de controle de acesso contem a string libera..

Caso ele nao obdeca essas regras, ele volta pra pagina de login.

 

Na sua index.php faça assim:

 

session_start();
include("libera.php");
check();

Caso nao entenda volte ao topico que explico melhor, mas a base é isso

http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem... eu nao percebi muito bem algumas coisas no teu codigo :/

 

Eu fiz deste genero, ele funciona... pelo menos volta para o index quando tento entrar directamente nas paginas e funciona normal quando entro pelo login

 

Mas fiz isto de maneira muito simples, se calhar simples demais.... a ver se concordam???

 

liberta.php

<?php
	if ($_SESSION['username'] == '')
	{
		header("Location: index.php");
	}
?>

pagina_depois_do_login.php

<?php require_once("liberta.php");?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O modo que te passei também é bem simples, ele faz a mesma coisa que voce fez so que ainda verifica se a sessão esta registrada com o nome que voce definiu no login.

 

Acho que por ser simples não há problemas em utilizar..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.