Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite galera, eu fiz um sistema de login com niveis de acesso, ele até que funciona bem..
Porem se alguem mudar a URL, pode acabar acessando a aréa de outro nivel..
Por exemplo: usuario comum loga em: site_usuario.php... se ele mudar a url pra site_adm ele acessa a area do administrador.. entenderam??
Não sei como corrigir isso, alguem tem alguma ideia??
logar.php
<?
$login = $_POST['login'];
$senha = md5($_POST['senha']);
include "config.php";
$sql = mysql_query("SELECT * FROM usuarios WHERE login = '$login'");
$cont = mysql_num_rows($sql);$senha_db = $linha['senha'];
$nivel = $linha['nivel'];
$solicitante = $linha['nome'];
$local = $linha['local'];
$ramal = $linha['ramal'];
$email = $linha['email'];
}
if($cont == 0){
echo "<script>
alert(\"Login inválido\");
window.location.href=(\"login.php\");
</script>";
}else if($senha_db != $senha){
echo "<script>
alert(\"Senha inválida\");
window.location.href=(\"login.php\");
</script>";
}else{
session_start();
$_SESSION['login_usuario'] = $login;
$_SESSION['senha_usuario'] = $senha;
$_SESSION['nome_usuario'] = $solicitante;
$_SESSION['local_usuario'] = $local;
$_SESSION['ramal_usuario'] = $ramal;
$_SESSION['id_usuario'] = $ramal;
$_SESSION['email_usuario'] = $email;
if($nivel == '2'){
header('Location:base_solucoes_adm.php');
}else if($nivel == '1'){
header('Location:base_solucoes_especial.php');
}else{
header('Location:base_solucoes_usuarios.php');
}
}
mysql_close($connect);
?>
verifica.php (coloca em todas as paginas, pra verificar se o usuario ta logado)
<?
session_start();
include "config.php";
if(isset($_SESSION["login_usuario"]) AND isset($_SESSION['senha_usuario'])){
$login_usuario = $_SESSION["login_usuario"];
$senha_usuario = $_SESSION["senha_usuario"];
$sql = mysql_query("SELECT * FROM usuarios WHERE login = '$login_usuario'");
$cont = mysql_num_rows($sql);$senha_db = $linha['senha'];
}
if($cont == 0){
unset($_SESSION["login_usuario"]);
unset($_SESSION["senha_usuario"]);
echo "<script>
alert(\"Login inválido\");
window.location.href=(\"login.php\");
</script>";
}
if($senha_db != $senha_usuario){//confere senha
unset($_SESSION["login_usuario"]);
unset($_SESSION["senha_usuario"]);
echo "<script>
alert(\"Senha inválida\");
window.location.href=(\"login.php\");
</script>";
}
}else{
echo "<script>
alert(\"Login e senha inválida\");
window.location.href=(\"login.php\");
</script>";
}
?>Carregando comentários...