Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, este é meu primeiro tópico no fórum, antes de abrir este tópico pesquisei por problemas semelhantes porém não encontrei, eu programo somente na linguagem C, e nos últimos dias comecei a estudar PHP, HTML, CSS e MySQL. Pois bem, estou com o seguinte problema, eu tenho uma página chamada login.php, onde o usuário informa o seu nome (já cadastrado em um select) e digita a sua senha, após, esses dados do formulário são processados por outro arquivo, chamado de valida_login.php. O sistema funciona corretamente, porém essas páginas são bloqueadas pelo anti-vírus por Phishing, alguém tem alguma ideia de como resolver isso? Desde já agradeço a ajuda de todos.
Página login.php:
<?php
include_once("conexao.php");
session_start();
?>
<!DOCTYPE html>
<html lang="pt-br" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>Acessar Sistema</title>
<link href="https://fonts.googleapis.com/css?family=Oswald:400,500,600,700" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" type="text/css" href="_css/login.css"/>
</head>
<body>
<div id="voltar">
<a href="index.php" title="Voltar a página inicial.">« Voltar</a>
</div>
<div id="login" class="login bradius">
<div class="logo">
<a href="login.php" title="Acessr Sistema">
<img src="_imagens/logo.png" alt="" title="" width="200" height="91"/> </a>
</div>
<div class="formulario">
<form method="POST" action="valida_login.php" id="formulario">
<select name="select_user" id="select_user" class="txt bradius">
<option class="txt bradius">Selecione</option>
<?php
$result_user = "SELECT * FROM usuarios";
$resultado_user = mysqli_query($conn, $result_user);
while($row_user = mysqli_fetch_assoc($resultado_user)) { ?>
<option class="txt bradius" value="<?php echo $row_user['nome']; ?>"><?php echo $row_user['nome']; ?>
</option> <?php
}
?>
</select>
<input type="password" name="senha" id="senha" class="txt bradius">
<input type="submit" class='sb bradius' name="btnLogin" value="Acessar">
</form>
</div>
<div id="retorno" class="retorno">
<?php
if(isset($_SESSION['msg'])) {
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
?>
</div>
</div>
<div id="julio">
<h3>Desenvolvido por</h3>
<h3><b>Julio Frantz</h3>
</div>
</body>
</html>
Página ***valida_login.php***:
<?php
session_start();
include_once("conexao.php");
$btnLogin = filter_input(INPUT_POST, 'btnLogin', FILTER_SANITIZE_STRING);
if($btnLogin){
$usuario = filter_input(INPUT_POST, 'select_user', FILTER_SANITIZE_STRING);
$senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
if((!empty($usuario)) AND (!empty($senha))){
$result_usuario = "SELECT id, nome, senha, nivel FROM usuarios WHERE nome='$usuario' LIMIT 1";
$resultado_usuario = mysqli_query($conn, $result_usuario);
if($resultado_usuario){
$row_usuario = mysqli_fetch_assoc($resultado_usuario);
if($senha == $row_usuario['senha']) {
$_SESSION['id'] = $row_usuario['id'];
$_SESSION['nome'] = $row_usuario['nome'];
header("Location: lotes.php");
}else{
$_SESSION['msg'] = "Login e senha incorretos.";
header("Location: login.php");
}
}
}else{
$_SESSION['msg'] = "Login e senha incorretos.";
header("Location: login.php");
}
}else{
$_SESSION['msg'] = "Página não encontrada.";
header("Location: login.php");
}No seu código realmente não tem nada de errado pra gerar phishing. Esse domínio que você registrou é novo? De repente você pode ter registrado um domínio que no passado foi denunciado por phishing ou também é possível que esteja sendo considerado phishing só pelo seu anti-vírus, ou você ta no localhost?
No localhost funciona perfeitamente, mas no host acusa Phising, provavelmente deve ser porque estou usando um gratuíto com aqueles domínios personalizados pelo host.
Entretanto, estou com outro problema, como você pode ver na página de login, o campo usuário é preenchido por um select que puxa os dados do BD, eles está puxando perfeitamente, mas quando o usuário finaliza o login, que é processado pelo valida_login.php, o processo trava, eles simplesmente fica na URL do processa e não retorna nada, fica a tela completamente branca. Você sabe o que pode ser? Conexão com o banco de dados não é....
testei seu código aqui e ele ta funcionando normalmente, fiz o login e fui redirecionado pra lotes.php.
>
Agora, BrunoBit disse:
testei seu código aqui e ele ta funcionando normalmente, fiz o login e fui redirecionado pra lotes.php, o que pode ta acontecendo com você é que nesse trecho onde você pega a senha aqui:
filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
Esse trecho só aceita string, não aceita número por exemplo, aí ele não efetua o login. Sua senha está com número?
Sim, está.>
Agora, julio25frantz disse:
Sim, está.
Esquece o que eu disse, eu viajei, reeditei o post, FILTER_SANITIZE_STRING processa string numérica sim.
Faz o seguinte, muda esse trecho pra gente ver se imprime algum erro:
Troca isso:
$resultado_usuario = mysqli_query($conn, $result_usuario);
Por isso:
$resultado_usuario = mysqli_query($conn, $result_usuario) or die(mysqli_error($conn));
Faz um teste aí.Testei aqui, o problema persiste, e não imprimiu nenhum erro.
Ele ta travando e ficando com a tela branca em valida_login.php?
Isso, quando o usuário clica em Acessar na página de login, ele encaminha para a página de validação, e então fica a tela branca, não sai mais dessa página, deveria redirecionar para lotes.php se a senha estivesse correta, mas não redireciona.
Poem esse trecho aqui pra gente ver se dá echo em 123 testando:
if($resultado_usuario){
$row_usuario = mysqli_fetch_assoc($resultado_usuario);
if($senha == $row_usuario['senha']) {
$_SESSION['id'] = $row_usuario['id'];
$_SESSION['nome'] = $row_usuario['nome'];
header("Location: lotes.php");
}else{
$_SESSION['msg'] = "Login e senha incorretos.";
header("Location: login.php");
}
} else {
echo "123 testando";
}O arquivo de validação ficou assim:
<?php
session_start();
include_once("conexao.php");
$usuario = filter_input(INPUT_POST, 'select_user', FILTER_SANITIZE_STRING);
$senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
if((!empty($usuario)) AND (!empty($senha))){
$result_usuario = "SELECT id, nome, senha, nivel FROM usuarios WHERE nome='$usuario' LIMIT 1";
$resultado_usuario = mysqli_query($conn, $result_usuario) or die(mysqli_error($conn));
if($resultado_usuario){
$row_usuario = mysqli_fetch_assoc($resultado_usuario);
if($senha == $row_usuario['senha']) {
$_SESSION['id'] = $row_usuario['id'];
$_SESSION['nome'] = $row_usuario['nome'];
header("Location: lotes.php");
}else{
$_SESSION['msg'] = "Login e senha incorretos.";
header("Location: login.php");
}
} else {
echo "123 testando";
}
}
Não imprimiu nenhum erro....Fiz um teste aqui, pelo que percebi, ele não está aceitando o comando header. Alguma sugestão?
header("Location: lotes.php");
Consegui resolver utilizando o:
<script> window.location=lotes.php';</script>
Que estranho isso, era pra funcionar, aqui funcionou, aí deveria funcionar também.
Qual é a versão do seu php?
>
1 minuto atrás, BrunoBit disse:
Que estranho isso, era pra funcionar, aqui funcionou, aí deveria funcionar também.
Qual é a versão do seu php?
PHP 7.1
Se você digitar a senha errada o header("location: login.php") ele te redireciona de volta pra login.php ou também trava em valida_login.php?
>
2 minutos atrás, BrunoBit disse:
Se você digitar a senha errada o header("location: login.php") ele te redireciona de volta pra login.php ou também trava em valida_login.php?
Também trava.
Poem seus arquivos aqui pra gente ver.