Ir para conteúdo

POWERED BY:

Arquivado

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

afbartels

[RESOLVIDO] bloquear o acesso direto

Recommended Posts

Pessoal, to com uma dúvida aqui.. Como eu faço pra "bloquear" o acesso direto de usuários as páginas do site?Vou explicar. Estou fazendo uma aplicação aqui, pra intranet, onde o usuário deve fazer o login para entrar no sistema.Depois dessa validação ele libera o acesso. Mas notei que se o usuário digtar o endereço de uma página existente, ele vai conseguir entrar sem passar pela validação.Exemplo: login.php |------>pagina1.php | |------------>pagina1a.php | |------>pagina2.phpCaso eu digite "pagina1a.php" na barra de endereço eu consigo entrar sem passar pela validação da página "login.php".Alguém tem alguma idéia de como tratar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. eu aqui faço o seguinte...

 

Eu crio uma página que vai verificar se ele esta logado no sistema, tipo quando ele loga gera uma SESSION chamada logado que recebe o valor SIM....

 

dai o meu arquivo fica assim...

 

trava.php

<?phpsession_start();if ($logado != "SIM") {   header("Location: nao_logado.php");}?>

Dai nas página eu chamo esse arquivo logo no começo...

 

<?phprequire("trava.php");requere("conexao.php");...?><html>...</htm>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai vai um exemplo de um sisteminah de login soh para você ter uma ideia...

Tipo eu defeni o login = usuario e a senha = teste...

 

 

index.php

<form name="form1" method="post" action="logar.php">  <p>Login: 	<input name="login" type="text" id="login">  </p>  <p>Senha: 	<input name="senha" type="text" id="senha">  </p>  <p>	<input type="submit" name="Submit" value="entrar"></p></form>

logar.php

<?php	session_start();	$login = $_POST[login];	$senha = $_POST[senha];		if ($login == "usuario" AND $senha == "teste") {		$_SESSION['logado'] = "SIM";		header("Location:sistema.php");	} else {		echo "Usuario invalido... <br>";		echo "Utilize... <br>";		echo "Login: usuario <br>";		echo "Senha: teste";	}?>

trava.php

<?php	session_start();	if ($logado != "SIM") {		header("Location: nao_logado.php");	}?>

sistema.php

<?php	require("trava.php");	echo "Você esta logado";?>

nao_logado.php

<?php	echo "Oke você esta tentando acessar??? você nao tem requisitos basicos para isso :)";?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu tentei aqui mas ta dando msg de erroWarning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 10Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 10Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 12e continua acessando.O que você acha que deve ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem olha...

 

olha o código:

<body><? session_start();	include "conexaomysql.php"; [...]

<body><? session_start();   echo "Logado"; echo $_SESSION['logado'];   if ($logado != "SIM") {	  //header('Location:nao_logado.php');	//	echo "<script>location.href = 'nao_logado.php';</script>";  	}?></body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça assim

 

<?php session_start() ?><html><head>...

 

coloque o session_start() antes de tudo =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora só está dando esta mensagem de erro:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui resolver meu problema.. Não estava colocando o session_start() na página para qual estava redirecionando.Agradeço a todos pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera meu problema creio que seja parecido...no sistema tem a seguinte urlindex.php?p=detalha_unidade&&unid=27se o cara trocar o 27 por outro numero que esta no banco de dados ele exibe a página teria como fazer algo do tipose o cara alterar o conteudo da barra de endereço encerrar a sessãofalou

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara faz por hidden...tira da url...t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

num dá pra fazer assim... pois em alguns casos precisa alterar na urlfiz da seguinte forma..chequei se a empresa do cara era a mesma que a da sessão..se OKabria a tela caso contrario exibia você não tem permissãovalue galeraabraço

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.