Jump to content
Fórum Script Brasil
  • 0

arquivo para proteger o site com MySQLi


jonatas alves santos
 Share

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...