Ir para conteúdo
Fórum Script Brasil
  • 0

arquivo para proteger o site com MySQLi


jonatas alves santos

Pergunta

Boa pessoal 

vamos direto ao assunto , preciso de um sistema de segurança que , quando você entra em alguma pagina do site sem fazer login, ele te joga direto para a pagina login, uso mysqli e php, achei alguns sistemas mas nenhum funciona com o mysqli, porque ? não sou muito bom com php ainda mas estou na luta 

quando clico no botao logar , ele passa pelo arquivo validaacesso.php e redimensiona para a pagina index.php ou se der erro ele retorna na tela

caso esteja tudo ok , na pagina index.php vai ter um chamado para o arquivo acessousuario.php ( este que vai fazer a segurança da pagina ) mas não esta fazendo , entro e saio da pagina sem problema nenhum 

 

me ajudem por favor 

 

conexao.php

 

<?php
// Conexão com o banco de dados
$conecta = new mysqli('localhost', 'root', '', 'cad') or die("Error " . mysqli_error($conecta));

 


?>

 

validaacesso.php

<?php
ob_start();
include '../core/connect/conexao.php';


?>
<!DOCTYPE HTML>
<html lang="br" class="no-js">

<head>

<meta charset="utf-8">
<title>BluPage</title>

    <link rel="stylesheet" href="../css/normalize.css">
    <link rel="stylesheet" href="../css/css.css">
</head>

<body>
 <section id="cabecalho">
            
            <?php include_once ("../cabecalho.php"); ?>
            </section>
            
            <div class="controle-conteudo">
            

<div class="conteudo-acao-banco">
<!-- Recebendo e gravando os dados -->
<?php

include "../core/connect/conexao.php";

$recebeNomeUsuario = filter_input(INPUT_POST, 'nomeUsuario', FILTER_SANITIZE_SPECIAL_CHARS);
$confereNomeUsuario = filter_input(INPUT_POST, 'nomeUsuario', FILTER_SANITIZE_MAGIC_QUOTES);
$recebeSenha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_SPECIAL_CHARS);

//Nesse if, faço uma conferência em relação à senha informada. Se não for informada nenhuma, retorno a mensagem para que o usuário informe algo!
if ($recebeSenha == NULL ) {
echo "<div class='alerta-usuario'>
<img class='img-alerta' src='../core/img/erro.png' alt='' width='128' height='128'/>
<h5>Digite a senha</h5>
<div class='botao-alerta-usuario'><a href='javascript:history.back();'><input  type='submit' value='Voltar'></input></a></div></div>";
return false;
}

//Aqui faço a segunda parte da verificação: vejo se no nome de usuário foi utilizado algum caractere especial
//Isso serve para evitar uma possível invasão sql no banco de dados, possibilitando assim a proteção e integridade dos dados
//Nesse caso, eu comparo os nomes. Se forem iguais, após passarem pelos filtros, eu inicio a criptografia. Se não forem, peço que volte à página anterior
else if ($confereNomeUsuario != $recebeNomeUsuario) {
    
echo "<div class='alerta-usuario'>
<img class='img-alerta' src='../core/img/erro.png' alt='' width='128' height='128'/>
<h5>Você informou o seguinte Nome de Usuário: <strong>$recebeNomeUsuario</strong></h5>
<h5>Por favor, não utilize caracteres especiais</h5>
<div class='botao-alerta-usuario'><a href='javascript:history.back();'><input  type='submit' value='Voltar'></input></a></div></div>";
return false;

} else {

//Aqui vamos criar a função que vai criptografar os dados.
//Serão necessários criptografar apenas o endereço de e-mail e a senha informada

//Função para criptografar a senha
function criptoSenha($criptoSenha){
return sha1(md5($criptoSenha));
}

//Função para criptografar o e-mail
function criptoNomeUsuario($criptoNomeUsuario){
return sha1(md5($criptoNomeUsuario));
}

//Aqui realizo a criptografia do nome de usuário
$criptoNomeUsuario = criptoNomeUsuario(filter_input(INPUT_POST, 'nomeUsuario', FILTER_SANITIZE_MAGIC_QUOTES));

//Aqui realizo a criptografia da senha informada do usuário
$criptoSenha = criptoSenha(filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_SPECIAL_CHARS));

 

$consultaInformacoes = mysqli_query($conecta, "SELECT * FROM usuario WHERE userlogin = '$criptoNomeUsuario' AND passlogin = '$criptoSenha' AND ativo = 'sim'") or die (mysqli_error());
$verificaInformacoes = mysqli_num_rows($consultaInformacoes);

//Aqui vou verificar se houve resultado positivo na pesquisa
if($verificaInformacoes == 1){

//Aqui eu vou setar os cookies para gravar os dados de acesso do usuário
setcookie ("login", $criptoNomeUsuario, (time()+60*60*24*30 ));
setcookie ("senha", $criptoSenha, (time()+60*60*24*30 ));
setcookie ("nomeUsuario", $confereNomeUsuario, (time()+60*60*24*30 ));
header ("Location: index.php");


if (isset($_POST['remember'])) 

setcookie("cookname", $_SESSION['username'], time()+60*60*24*100, "/"); 
setcookie("cookpass", $_SESSION['password'], time()+60*60*24*100, "/"); 
}

} else {
    
    
    
echo "<div class='alerta-usuario'>
<img class='img-alerta' src='../core/img/erro.png' alt='' width='128' height='128'/>
<h5>Usuário ou Senha invalido</h5>
<div class='botao-alerta-usuario'><a href='javascript:history.back();'><input  type='submit' value='Voltar'></input></a></div></div>";

}

}

?>

</div>
</div>
</body>

</html>

 

acessousuario.php

 

<?php

include "conexao.php";

$criptoNomeUsuario = $_COOKIE["login"];
$criptoSenha = $_COOKIE["senha"];
$nomeUsuario = $_COOKIE["nomeUsuario"];

$confirmacao = mysqli_query($conecta, "SELECT * FROM usuario WHERE userlogin = '$criptoNomeUsuario' and passlogin = '$criptoSenha' and ativo = 'sim'") or die (mysqli_error());

$verificaInformacoes = mysqli_num_rows($confirmacao);

if ( $verificaInformacoes == 1 ) {
    
    session_start();  // Inicia a session

$criptoNomeUsuario = $_COOKIE["login"];
$resultado = "SELECT * FROM usuario WHERE userlogin = '$criptoNomeUsuario' AND ativo = 'sim'";

$listaCliente = mysqli_query($conecta, $resultado) or die (mysqli_error());
while ($listagem = mysqli_fetch_array($listaCliente)){
    
$nomeUsuario = $listagem ["nome"];
$idUsuario = $listagem ["id_usuario"];

$_SESSION['id_usuario'] = $idUsuario;
$_SESSION['nome'] = $nomeUsuario;
            
        
            mysqli_query($conecta, "UPDATE usuario SET data_ultimo = now() WHERE id_usuario ='{$idUsuario}'");

        

        }

    
mysqli_close($conecta);

else {
$urlAcesso = "../index.php";
echo "
<script type='text/javascript'>
alert('Proibido o acesso por esse meio. Volte e informe os dados corretamente. Obrigado e aguarde o redirecionamento para a tela inicial!');
</script>";
echo "<meta http-equiv='refresh' content='1;URL='.$urlAcesso.''>";
}

?>

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...