Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Sistema de Login

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida Sistema de Login

    e ai galera do forum blza, então to começando nesse vasto mundo de php e to programando ou tentando um sisteminha de login q com muito custo to desenvolvendo devagar, assim: eu queria implantar um código nele de encriptação de senha se alguem poder me ajudar...

    Código PHP:
    <?php

     
    include "config.php";

      
    $nome $_POST['nome'];
      
    $login $_POST['login'];
      
    $senha $_POST['senha'];
      
    $cadastrar =$_POST['cadastrar'];

     if(
    $nome ==''){
          echo 
    "<script> alert('Preencha o Nome'); window.history.go(-1); </SCRIPT>\n";
      }else if(
    $login ==''){
          echo 
    "<script> alert('Preencha o Login'); window.history.go(-1); </SCRIPT>\n";
      }else if(
    $senha ==''){
          echo 
    "<script> alert('Preencha a Senha'); window.history.go(-1); </SCRIPT>\n";
      }else{
     
      
    $sqlBusca mysql_query("SELECT * FROM users WHERE login = '$login' AND senha = '$senha'");
      
    $verificaLogin mysql_num_rows($sqlBusca);
      
      if(
    $verificaLogin == 0){

      
    $sqlCadastra mysql_query("INSERT INTO users (nome,login,senha) VALUES ('$nome', '$login', '$senha')");

       
    header('Location: login.php');

    }else{
     
       
    header('Location: index.php');
    }
    }
    ?>
    Eu queria implantar esse código aqui:
    Código PHP:
    <?php

    /**
     * Gera um salt aleatório
     *
     * @param int $tamanho Tamanho do salt
     *
     * @return string
     */
    function geraSaltAleatorio($tamanho 22) {
        return 
    substr(sha1(mt_rand()), 0$tamanho);  
    }

    $salt geraSaltAleatorio();

    // Senha do usuário, pode ter vindo do $_POST, $_GET ou outro lugar
    $senha 'olá mundo'

    // Cria um hash
    $hash md5($senha $salt);

    // Encripta esse hash 1000 vezes
    for ($i 0$i 1000$i++) {
        
    $hash md5($hash);
    }

    // Salvamos $hash e $salt no banco de dados
    Será que alguem pode me ajudar?? Desde já fico grato...vlw

  • Font Size
    #2
    Olá, antes de mais nada verique a parte do codigo
    $sqlBusca = mysql_query("SELECT * FROM users WHERE login = '$login' AND senha = '$senha'");

    que está vuneravel, sempre escape os dados do usuario, sempre.
    ou use PDO com bindParam ou bindValue para escapar automaticamente.

    Sobre a cripitografia, não entendo para que cripitogra , fazer algo tão complexo, utilize um sha1 ou mesmo sha 255, que é mais complexo do que o md5, mas se no resultado final quiser ainda fazer um for , para cripitografar toda nova cripitografia, fique a vontade.
    Caso queria elaborar um algoritimo de cripitografia não é tão complexo, apesar de quanto melhor.
    Procure sobre a cifra de ceasar para ter um conceito historico (aconselho tmb não ficar somente neste artigo, procure tudo sobre cripotografia ), depois disso, elabore um algoritimo matematico complexo,
    e por ultimo e se sentir necessidade procure por deslocamento de bit, dessa forma tu pode criar sua propria cripitografia, e contando que não poste na internet o codigo dela , tu vai ficar bem segudo.
    Quem precisa saber do código é somente você e o script php.


    Mas lembre-se , para fazer login não sera mais possivel pelo codigo lá de cima,
    tu tera que cripitografar a senha primeiro já que no banco de dados tera o usuario cadastrado com a senha cripitografada, dae você compara as cripitografias e verifica se está certa.

    Comment

    X
    Working...
    X