Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Sistema] Login e Senha com Sessoes e Cookies

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

  • Font Size
    #1

    Tutorial [Sistema] Login e Senha com Sessoes e Cookies

    [Sistema de Login e Senha Utilizando Cookies e Sessions Com proteção a SQL INJECTION]


    Estou postando um Sisteminha de Login e Senha com Utilização de Sessions e Cookies, muito facil de usar, e muito seguro para utilizar em sistemas de administração de WebSites e tals...

    conexao.php

    Código PHP:
    <?php
    $ip 
    "localhost"//Aqui se coloca o IP do Servidor que utilizará o sistema
    $usuario "root"// Aqui coloca o usuário do Servidor do Banco de Dados
    $senha "senha"//Aqui se coloca a senha do seu Banco de Dados
    $db "loginesenha"// Aqui se coloca o nome do Database

    $conecta mysql_connect("$ip""$usuario""$senha") or die (mysql_error());
    $selecionadb mysql_select_db("$db");

    if(
    $conecta || $selecionadb == true){

    }else{
    echo 
    "Houve algum erro ao Conectar no Database ou Selecionar o Database. Verifique o Erro";
    }
    ?>

    <?php
    function ant_sql($string){

    $string get_magic_quotes_gpc() ? stripslashes($string) : $string;
    $string function_exists("mysql_real_escape_string") ? mysql_real_escape_string($string) : mysql_escape_string($string);
    return 
    $string;
    }
    ?>
    CriarDB.php

    Código PHP:
    <?php
    include("conexao.php");
    mysql_query("CREATE TABLE `admins` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `nome` VARCHAR( 200 ) NOT NULL ,
    `email` VARCHAR( 200 ) NOT NULL ,
    `login` VARCHAR( 200 ) NOT NULL ,
    `senha` VARCHAR( 200 ) NOT NULL ,
    `repitasenha` VARCHAR( 200 ) NOT NULL
    ) ENGINE = MYISAM ;
    "
    );
    ?>
    login.php

    Código PHP:
    <style type="text/css">
    <!--
    body {
    background-color#666666;
    }
    .
    boxtotal {
    background:#999999;
    width:400px;
    height:210px;
    border:1px solid black;
    }
    .
    bt {
    background:#000;
    border:1px solid #fff;
    color:#FFFFFF;
    font:VerdanaAlbertus"Palatino Linotype";
    }
    .
    loga {
    background:#666666;
    border:1px solid #fff;
    letter-spacing:2px;
    color:#FFFFFF;
    font:VerdanaAlbertus"Palatino Linotype";
    }
    -->
    </
    style>
    <
    br><br><br><br><br>
    <
    div align="center">
    <
    form name="form1" method="post" action="loga.php">
    <
    div class="boxtotal"><small><font face="Geneva, Arial, Helvetica, sans-serif" color="#FFFFFF" style="letter-spacing:2px">Efetue o Login com Usuário e Senha.</font></small>
    <
    br><br>
    <
    table width="100%%" border="0" cellspacing="0" cellpadding="3">
    <
    tr>
    <
    td width="30%" align="right"><font face="Geneva, Arial, Helvetica, sans-serif" color="#333333">Usu&aacute;rio:</font></td>
    <
    td width="70%"><input name="usuario" type="text" class="bt" id="usuario" size="30" maxlength="50"></td>
    </
    tr>
    <
    tr>
    <
    td align="right"><font face="Geneva, Arial, Helvetica, sans-serif" color="#333333">Senha:</font></td>
    <
    td><input name="senha" type="password" class="bt" id="senha" maxlength="30"></td>
    </
    tr>
    </
    table>
    <
    br>
    <
    input name="check" type="checkbox" id="check" value="marcado">
    <
    font face="Verdana, Albertus, Palatino Linotype">Lembrar</font><br>
    <
    br>
    <
    input name="Submit" type="submit" class="loga" value="Logar">
    </
    div>
    </
    form>
    </
    div
    loga.php

    Código PHP:
    <style type="text/css">
    <!--
    body {
    background-color: #666666;
    }
    -->
    </style><div align="center">
    <?php
    require_once("conexao.php");
    session_start();
    ob_start();
    ?>
    <?php
    $login 
    = @ant_sql($_POST['usuario']);
    $senha = @ant_sql($_POST['senha']);
    $check = @ant_sql($_POST['check']);
    $pagina "index.php"//Mudar essa Linha para onde a após o login será rederecionado, mais usado o index.php
    ######
    $sql mysql_query("SELECT * FROM admins WHERE login = '$login' AND senha = '$senha'");

    if(
    mysql_num_rows($sql) <= 0){
    echo 
    "<br><br><font color='#FFFF00'>Login n&atilde;o pode ser Efetuado, Clique <a href='javascript:history.back(1);'>AQUI</a> para Voltar.</font>";
    }elseif(
    mysql_num_rows($sql) > 1){
    echo 
    "<br><br><font color='#FFFF00'>Login n&atilde;o pode ser Efetuado, Clique <a href='javascript:history.back(1);'>AQUI</a> para Voltar.</font>";
    }elseif(
    mysql_num_rows($sql) <> 1){
    echo 
    "<br><br><font color='#FFFF00'>Login n&atilde;o pode ser Efetuado, Clique <a href='javascript:history.back(1);'>AQUI</a> para Voltar.</font>";
    }elseif(
    mysql_num_rows($sql) == && $check == "marcado"){
    $_SESSION['LOGADOUSER'] = $login;
    $_SESSION['LOGADOSENHA'] = $senha;
    setcookie("3e00afdb2ee8ca59758db1483a623b1f""3e00afdb2ee8ca59758db1483a623b1f"time()+(30*8600));
    header("Location: $pagina");
    }elseif(
    mysql_num_rows($sql) == && $check == ""){
    $_SESSION['LOGADOUSER'] = $login;
    $_SESSION['LOGADOSENHA'] = $senha;
    header("Location: $pagina");
    }
    ob_end_flush();
    ?>
    </div>
    sair.php

    Código PHP:
    <?php
    session_start
    ();
    session_unset();
    session_destroy();
    header("Location: login.php");
    ?>
    cadastraradmin.php

    Código PHP:
    <?php
    include ("conexao.php");
    ?>
    <style type="text/css">
    <!--
    body {
    background-color: 6666666;
    }
    -->
    </style><form name="form1" method="post" action="cadastraradmin.php?acao=Cadastrar">
    <table width="100%%" border="0" cellspacing="0" cellpadding="4">
    <tr>
    <td width="11%" align="right"><strong>Nome:&nbsp;</strong></td>
    <td width="89%"> <input name="nome" type="text" id="nome" size="50"></td>
    </tr>
    <tr>
    <td align="right"><strong>Email</strong>:</td>
    <td><input name="email" type="text" id="email" size="50"></td>
    </tr>
    <tr>
    <td align="right"><strong>Login</strong>:</td>
    <td><input name="login" type="text" id="login" size="50"></td>
    </tr>
    <tr>
    <td align="right"><strong>Senha</strong>:</td>
    <td><input name="senha" type="password" id="senha" size="50"></td>
    </tr>
    <tr>
    <td align="right"><strong>Repita Senha: </strong></td>
    <td><input name="repete" type="password" id="repete" size="50"></td>
    </tr>
    <tr>
    <td align="right">&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right">&nbsp;</td>
    <td><input type="submit" name="Submit" value="Cadastrar"></td>
    </tr>
    </table>
    </form>

    <?php
    $nome 
    = @$_POST['nome'];
    $email = @$_POST['email'];
    $login = @$_POST['login'];
    $senha = @$_POST['senha'];
    $repete = @$_POST['repete'];
    if(@
    $_GET['acao'] == "Cadastrar"){
    if(
    $senha == $repete){
    $insere mysql_query("INSERT INTO admins (nome, email, login, senha)
    VALUES ('
    $nome','$email','$login','$senha')");
    echo 
    '<script language="javascript">
    alert("Administrador Cadastrado com Sucesso!");
    </script>'
    ;
    }else{
    echo 
    '<script language="javascript">
    alert("Houve algum Erro, Admin nao Cadastrado!");
    </script>'
    ;
    }
    }
    ?>
    Colocar esse Código na Página em que irá restringir:

    Código PHP:
    <?php
    session_start
    ();
    require_once(
    "conexao.php");
    if(@
    ant_sql($_SESSION['LOGADOUSER']) || @ant_sql($_SESSION['LOGADOSENHA']) || @ant_sql($_COOKIE['3e00afdb2ee8ca59758db1483a623b1f']) == true ){
    }else{
    header("Location: login.php");
    }
    ?>
    Sisteminha Simples feito por mim - mas caso copie para outro forum, por favor coloque os créditos
    Last edited by Alison_PC; 16-02-2010, 21:11.
    sigpic
    Faça parte você também pela campanha da vida: Eu cuido da Minha, você cuida da sua!

  • Font Size
    #2
    valew cara muio util^^ show de bola!!

    Comment


    • Font Size
      #3
      valeu irmão é nesses foruns que trocamos informação que valem reais.
      postarei algo o mais rapido possivel.
      ensinar tambem é um modo de aprender....

      Comment


      • Font Size
        #4
        muito bom ;D

        Comment


        • Font Size
          #5
          a um ano atras eu indoidei atraz disso na net... e agora passando pelos topicos acho sem querar

          =/

          OTIMO POST !
          sigpic

          Comment


          • Font Size
            #6
            Parabéns...difícil encontrar tópicos que não sejam ctrl+C e ctrl+V...Nota 10!
            Black-Hat.

            Comment


            • Font Size
              #7
              no caso seria um cookie so? ou seria random ?

              @topic

              gostei, parabéns vo da uma organizada nos meus paineis e testa seu source

              Comment


              • Font Size
                #8
                vlw mano muito util abraço.

                Comment


                • Font Size
                  #9
                  Parabens ta legal

                  Comment


                  • Font Size
                    #10
                    sou novo aki mais ja tou adorando o forum valeu cara topico e 10...

                    Comment


                    • Font Size
                      #11
                      parabéns, otimo tuto!

                      Comment


                      • Font Size
                        #12
                        Ola Galera gostaria da ajuda de vcs, eu tenho este sistema de login para meu site, so que percebi que tem a possibilidade de 2 pessoas fazerem o login juntas usando o mesmo user e senha, gostaria de saber se podem me ajudar a configurar o script para que quando alguém loga-se ele coloca-se o status = 1 e ao tentar fazer o login novamente usando outro navegador ou PC, avisa-se que o usuário já esta logado, e quando quando o usuario desconecta-se coloca-se o status = 0, para que depois possa fazer o login...

                        coluna status ja existe

                        Sou Leigo em PHP e to a dias pesquisando no google como fazer isso porém 0,00% de resultado que me ajuda-se...

                        Agradecendo desde já.

                        Comment


                        • Font Size
                          #13
                          Olá!

                          Obrigado meu amigo, vai ajudar muito quem ainda não sabe!

                          Até mais,
                          Script.
                          "Compartilhe, agradeça, motive, engrandeça!"
                          "Faça o bem, sem ver a quem!"
                          "Conhecimento não é crime. Crime é o que vem depois dele, seus atos!"
                          "Não deixe mais que seu opressor o domine!"

                          Comment


                          • Font Size
                            #14
                            Fala, galera.
                            Desculpe desenterrar topico.
                            Estava usando o codigo acima, mas tá dando um erro
                            Se liga:

                            Warning : session_start () [ function.session start- ]: Não é possível enviar sessão limitador do cache - headers already sent (output started at / home / giromarc / public_html loga.php / 8) em / home / giromarc / public_html / loga.php na linha 17

                            Aviso : Não é possível modificar a informação de encabeçamento - encabeçamentos já enviada pelo (a saída começou em / home / giromarc / public_html loga.php / 8) em / home / giromarc / public_html loga.php / on-line 42

                            Alguém sabe me dizer onde estou fazendo a cagada? rs
                            Valeu!


                            Mauricio
                            Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

                            Comment

                            X
                            Working...
                            X