rms Postado Outubro 1, 2004 Denunciar Share Postado Outubro 1, 2004 A parte de autenticação do meu sistema tá com um problema: quando é feito o logoff na sessão....<?php session_start(); session_destroy(); header("Location: index.html"); ?>... se o cara utilizar o botão voltar do browser (IE) dá pra reenviar os dados postados e assim ter acesso ao sistema. Abaixo disponibilizo o código q uso para autenticar o usuário (é o arquivo indicado no action do formulário de login):<?php $login = $_POST["login"]; $senha = $_POST["senha"]; if(!$login || !$senha) { echo "Informe seu login e senha"; exit; } include "conecta_bd_pagina_.php"; $SQL = "SELECT idUsuario, login, senha FROM Usuario WHERE login = '$login' "; if ( !( $result= mysql_query($SQL, $database) ) ) { print "Erro na consulta SQL <br />"; print mysql_error() ; exit; } $total=mysql_num_rows($result); // Se o login for válido o número de linhas será 1 if($total) { // Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão $dados = mysql_fetch_array($result); // Agora verifica a senha; obs: depois vou utilizar a função para CRIPTOGRAFAR if(!strcmp($senha, $dados["senha"])) { session_start(); $_SESSION["id"] = $dados["idUsuario"]; $_SESSION["login"] = stripslashes($dados["login"]); print "<script Language=\"JavaScript\">"; print "window.location.href = \"index.php\";"; print "</script>"; exit; } // Senha inválida else { print "Senha inválida!"; exit; } } // Login inválido else { print "Usuário não cadastrado!"; exit; } ?> COMO RESOLVER ESSE PROBLEMA??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Outubro 1, 2004 Denunciar Share Postado Outubro 1, 2004 Checar se a sessão existe ao receber os dados desse form... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rms
A parte de autenticação do meu sistema tá com um problema: quando é feito o logoff na sessão....
<?php
session_start();
session_destroy();
header("Location: index.html");
?>
... se o cara utilizar o botão voltar do browser (IE) dá pra reenviar os dados postados e assim ter acesso ao sistema.
Abaixo disponibilizo o código q uso para autenticar o usuário (é o arquivo indicado no action do formulário de login):
<?php
$login = $_POST["login"];
$senha = $_POST["senha"];
if(!$login || !$senha)
{
echo "Informe seu login e senha";
exit;
}
include "conecta_bd_pagina_.php";
$SQL = "SELECT idUsuario, login, senha FROM Usuario WHERE login = '$login' ";
if ( !( $result= mysql_query($SQL, $database) ) )
{
print "Erro na consulta SQL <br />";
print mysql_error() ;
exit;
}
$total=mysql_num_rows($result);
// Se o login for válido o número de linhas será 1
if($total)
{
// Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão
$dados = mysql_fetch_array($result);
// Agora verifica a senha; obs: depois vou utilizar a função para CRIPTOGRAFAR
if(!strcmp($senha, $dados["senha"]))
{
session_start();
$_SESSION["id"] = $dados["idUsuario"];
$_SESSION["login"] = stripslashes($dados["login"]);
print "<script Language=\"JavaScript\">";
print "window.location.href = \"index.php\";";
print "</script>";
exit;
}
// Senha inválida
else
{
print "Senha inválida!";
exit;
}
}
// Login inválido else
{
print "Usuário não cadastrado!";
exit;
}
?>
COMO RESOLVER ESSE PROBLEMA???
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.