Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou montando um sistema de gerenciamento de conteudo para um site e gostaria de saber sobre a segurança de login em php salvando sessions.
podem avaliarem e darem suas sugestoes? agradeceria muito!
login.php
<FORM action="autenticacao.php" method="post">
<p class="form-text">LOGIN DE USUÁRIO</p>
<INPUT name='usuario' class="form-login" size=20 maxlength="30" required autofocus />
<p class="form-text">SENHA DE USUÁRIO</p>
<INPUT type='password' size=20 name='senha' class="form-pass" required />
<input type='hidden' name="enviado" value="posted">
<input type=submit id="botao" value="" class="submit" name=Submit>
</FORM>
autenticacao.php
<?php
ob_start();
session_start();
include ("conexao.php");
$cliente_username = mysql_real_escape_string(trim(strip_tags(addslashes($_POST['usuario']))));
$cliente_password = mysql_real_escape_string(trim(strip_tags(addslashes($_POST['senha']))));
$enviado = $_POST["enviado"];
if ($enviado == "posted"){
if (!isset($cliente_username) or !isset($cliente_password)) { echo "Erro!"; exit; }
if (empty($cliente_username) or empty($cliente_password)) {
echo "<script>";
echo "alert('Login ou Senha incorretos!');";
echo "window.location.href='login.php'";
echo "</script>";
exit; }
$query = "select * from usuarios where login = '$cliente_username' and senha = '$cliente_password'";
$result = mysql_query($query);
$number = mysql_num_rows($result);
if ($number==0) { ?>
<script>document.location = 'login.php'</script>
<?php
exit;
} else {
$_SESSION['usuario_id'] = mysql_result($result,0,'id');
$_SESSION['usuario_nome'] = mysql_result($result,0,'nome');
$_SESSION['nivel'] = mysql_result($result,0,'nivel');
$_SESSION['email'] = mysql_result($result,0,'email');
?>
<script>document.location = 'painel.php'</script>
<?php
}
mysql_close($conexao);
}
?>
conexao.php
$database="localhost"; // SERVIDOR
$dbname="database"; // SEU BANCO DE DADOS
$usuario="usuario"; // USUÁRIO DO MYSQL
$dbsenha="senha"; // SENHA DO MYSQL
$conexao = mysql_connect ($database, $usuario, $dbsenha);
if($conexao){
if (mysql_select_db($dbname, $conexao)){ print "";
}else{ print "Não foi possível selecionar o Banco de Dados"; }
}else{ print "Erro ao conectar o MySQL"; }
?>
quando logado, faço include nas paginas restritas do arquivo "verifica.php"..
verifica.php
<?php ob_start(); ?>
<?php
if (!$_SESSION) session_start();
if (empty($_SESSION['usuario_id'])) {
echo "<script>";
echo "alert('Acesso não permitido!');";
echo "window.location.href='../login.php'";
echo "</script>";
exit;
}else{
include('conexao.php');
$sessao_id = $_SESSION['usuario_id'];
$sessao_nome = $_SESSION['usuario_nome'];
$sessao_nivel = $_SESSION['nivel'];
$sessao_email = $_SESSION['email'];
// PEGA OS DADOS DO USUÁRIO
$query = "SELECT * FROM usuarios where id = ".$sessao_id;
$resultado = mysql_query($query);
$campo = mysql_fetch_array ($resultado);
$usuario_id = $campo['id'];
$usuario_nome = $campo['nome'];
$usuario_nivel = $campo['nivel'];
$usuario_email = $campo['email'];
}
?>
Bom é isso aí..
existe alguma vulnerabilidade?
o que dá pra melhorar?
conto com a ajuda de vocês! Obrigado...
Carregando comentários...