Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

G.Armando

Sistema de Login Inseguro

Recommended Posts

Boa dia/

 

Galera é o seguinte estou fazendo um sisteminha em php, mais tipo a parte de login não estou achando muito seguro, pois fazendo uns teste aki percebi que porexemplo: digito na url o caminho da página tal, ae acontece q abre a pagina msm sem logar e dps de alguns instantes aparece a msg > O Usuario informado não corresponde. < e volta para a pagina de login, ñ me senti muito seguro com esse sistema, teria alguma alteração que poderia fazer ou alguem poderia me indicar um modo mais seguro.

 

Outra dúvida aqui como poderia bloquear o acesso aos diretorios, exemplo: uma pessoa entra no meu site e digita endereçodosite.com/imagens

ae é listado todas as minhas imagens como poderia bloquear o acesso?

 

 

logar.php

<?
$login = $_POST['login'];
$senha = $_POST['senha'];

include "config.php";

$sql = mysql_query("SELECT * FROM acesso WHERE login = '$login'");
$cont = mysql_num_rows($sql);
while($linha = mysql_fetch_array($sql)){
    $senha_db = $linha['senha'];
}

if($cont == 0){
    echo "
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=adm/index.php'>
    <script type=\"text/javascript\">
    alert(\" O Usuario informado não corresponde.\");
    </script>";
    
}else{

    if($senha_db != $senha){
    
    echo"
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=adm/index.php'>
    <script type=\"text/javascript\">
    alert(\" A senha informada não corresponde.\");
    </script>";
    
}else{
    session_start();
    $_SESSION['login_usuario'] = $login;
    $_SESSION['senha_usuario'] = $senha;
    
    header('Location: adm/index2.php');
    }
}
mysql_close($db);
?>

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>.:: Administração ::.</title>
<style type="text/css">
<!--
.style4 {
    font-family: "Tw Cen MT";
    color: #FFFFFF;
    font-size: 18px;
}
.style5 {
    font-family: "Tw Cen MT";
    font-size: 18px;
    color: #000066;
}
.style6 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #000033;
}
-->
</style>
</head>
<? include "css.php";?>
<body>
    <div id="conteudo_login">
        <div id="topo_login">
            <div id="logo_login">
            </div><!-- logo_login -->
        </div><!-- topo_login -->
        <div id="base_login">
            <div id="campos_login">
              <form id="form1" name="form1" method="post" action="logar_adm.php">
                <table width="100%" border="0" cellspacing="0" cellpadding="2">
                  <tr>
                    <th width="33%" scope="row"> </th>
                    <td width="67%"> </td>
                  </tr>
                  <tr>
                    <th scope="row"><span class="style4">LOGIN:</span></th>
<td><label>
  <input name="login" type="text" class="style6" id="login" />
</label></td>
                  </tr>
                  <tr>
                    <th scope="row"><span class="style4">SENHA:</span></th>
<td><label>
                      <input name="senha" type="password" class="style6" id="senha" />
                    </label></td>
                  </tr>
                  <tr>
                    <th scope="row"> </th>
                    <td><label>
                      <input type="submit" name="button" id="button" value="Logar!" />
                    </label></td>
                  </tr>
                </table>
              </form>
               </div><!-- campos_login -->
        </div><!-- base_login -->
    </div><!-- conteudo_login -->
</body>
</html>

verifica.php

<?
session_start();

include "config.php";

if(isset($_SESSION["login_usuario"]) AND isset($_SESSION['senha_usuario'])){

    $login_usuario = $_SESSION["login_usuario"];
    $senha_usuario = $_SESSION["senha_usuario"];
    
$sql = mysql_query("SELECT * FROM acesso WHERE login = '$login_usuario'");
$cont = mysql_num_rows($sql);
while($linha = mysql_fetch_array($sql)){
    $senha_db = $linha['senha'];
}

if($cont == 0){

    unset($_SESSION["login_usuario"]);
    unset($_SESSION["senha_usuario"]);
    
    echo "
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
    <script type=\"text/javascript\">
    alert(\" O nome de usuario informado não corresponde.\");
    </script>";
    
}

if($senha_db != $senha_usuario){
    
    echo"
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
    <script type=\"text/javascript\">
    alert(\" A senha informada não corresponde.\");
    </script>";
    
}
    
}else{

    echo"
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
    <script type=\"text/javascript\">
    alert(\"O usuario e senha não correspondem.\");
    </script>";

}
?>

Vlw ae galera desde já, espero que alguém possa me ajudar. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera é o seguinte estou fazendo um sisteminha em php, mais tipo a parte de login não estou achando muito seguro, pois fazendo uns teste aki percebi que porexemplo: digito na url o caminho da página tal, ae acontece q abre a pagina msm sem logar e dps de alguns instantes aparece a msg > O Usuario informado não corresponde. < e volta para a pagina de login, ñ me senti muito seguro com esse sistema, teria alguma alteração que poderia fazer ou alguem poderia me indicar um modo mais seguro.

 

Na pagina que deve ser protegida você coloca para redirecionar o usuario se ele n tive logado, por exeplo crie um arquivo com o nome proteger.php

// Verifica se existe os dados da sessão de login
if(!isset($_SESSION['login_usuario'])){

// Usuário não logado! Redireciona para a página de login
$erro = urlencode("Só usuários cadastrados podem acessar essa página!");
echo "<script type='text/javascript'> parent.top.location.href='index.php?erro=$erro';</script>";
exit;
}

Para as páginas que você quer deixar como restritas, simplesmente inclua este arquivo

 

Outra dúvida aqui como poderia bloquear o acesso aos diretorios, exemplo: uma pessoa entra no meu site e digita endereçodosite.com/imagens

ae é listado todas as minhas imagens como poderia bloquear o acesso?

 

 

Crie um arquivo com o nome index.php dentro do diretorio que você qr proteger, assim qndo alguem tentar acessar o diretorio será redirecionado para o index.php

e no index.php você faz assim:

 

<?php
//redireciona para a pagina inicial do site 
header('Location: index.php');
?>

Outra solução é usando o arquivo .htaccess.

basta colocar Options All -Indexes no seu arquivo .htaccess

 

 

Acesse esse site para ver mais formas de usar o .htaccess: http://pt.kioskea.net/contents/web/apache---os-arquivos-.htaccess

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.