Download FREE Orice
Acest forum este facut special pentru un Download FREE Orice doriti!
Lista Forumurilor Pe Tematici
Download FREE Orice | Reguli | Inregistrare | Login

POZE DOWNLOAD FREE ORICE

Nu sunteti logat.
Nou pe simpatie:
morena28 la Simpatie.ro
Femeie
25 ani
Bistrita Nasaud
cauta Barbat
27 - 52 ani
Download FREE Orice / >>>Programe Securitate<<< / Autentificare pe baza de "amprenta"  
Autor
Mesaj Pagini: 1
McSpeDDy
Administrator

Inregistrat: acum 17 ani
Postari: 157
*Pe baza de imagine, insa "amprenta" sunt mai bine.
Acesta e un cod PHP care permite autentificare pe un site web (admin panel & other shitz) folosind o imagine. Daca pixelii imaginii uploadate in acel moment corespund cu cei din baza de date, atunci se face autentificarea, altfel nu.
Folderul trebuie sa aiba chmod777 (deoarece imaginea se uploadeaza, i se preiau culorile pixelilor, apoi se sterge).
Nu este ceva extraordinar si iesit din comun, dar ma plictiseam aseara. Care ar fi avantajele ? In primul rand nu se poate ghici parola, deoarece la o imagine de 150x150 obtinem 22500 culori (8 caractere parca). Dezavantaje ? Nu stiu cat de fiabil este si partea care nu imi place mie este ca trebuie mereu uploadata imaginea.
         Cod:

<?php
$hostname="localhost";
$username="username";
$password="password";
$database="db";

$conexiune=mysql_connect($hostname, $username, $password)
or die ("eroare !";

$bazadate=mysql_select_db($database, $conexiune)
or die ("eroare !";
?>

Acum trebuie uploadata imaginea pe server, eu mi-am ales-o pe urmatoarea:


Apoi cream tabela in BD:
Cod:

<?php
include ("conexiune.php";

$delete="DROP TABLE IF EXISTS tabela";
mysql_query($delete, $conexiune);

$table="CREATE TABLE tabela (
id int(3) NOT NULL AUTO_INCREMENT,
culoare int(200) NOT NULL ,
PRIMARY KEY (id)) TYPE=MyISAM";
if(mysql_query($table)){
echo "Tabelul a fost creat<br/>";
}
else{
echo "Tabelul nu a fost creat<br/>";
}

?>

Urmeaza culoare.php, fisier care poate fi sters dupa ce este rulat o singura data (acesta preia culoarea pixelilor si o baga in bd):
Cod:

<?php
include ("conexiune.php";
$im = imagecreatefromjpeg("imagine.jpg";
for($i=0; $i<150; $i++)
    {
     for($j=0; $j<150; $j++)
         {
           //Extragem culoarea si o introducem in BD
           $rgb = imagecolorat($im, $i, $j);
           $sql = "INSERT INTO tabela (culoare) VALUES ('".$rgb."')";
           if(mysql_query($sql)) { echo "added"; }
           else { mysql_error(); }
         }
    }

mysql_close($conexiune);
?>

Si partea finala... index.php:
Cod:

<FORM ENCTYPE="multipart/form-data" ACTION="" METHOD=POST>
Imagine: <INPUT NAME="file_up" TYPE="file">
<INPUT TYPE="submit" name="submit" VALUE="Upload">
</FORM>

<?php
include ("conexiune.php";

if($_POST['submit'])
{
$file_upload="true";
$file_up_size=$_FILES['file_up'][size];
if ($_FILES[file_up][size]>17000)
    {
      die("dimensiune prea mare";
      $file_upload="false";
    }
//Lasam doar jpg/jpeg
if (!($_FILES[file_up][type] =="image/jpeg"
    {
      die ("nu e jpg/jpeg";
      $file_upload="false";
    }
$file_name=$_FILES[file_up][name];
//Generam un nume pt. imagine
$x[0]=rand(0, 10);
$x[1]=rand(0, 10);
$x[2]=rand(0, 10);
$x[3]=rand(0, 10);
$x[4]=rand(0, 10);
$add="$x[0]$x[1]$x[2]$x[3]$x[4]$file_name";
if($file_upload=="true"
   {
     if (file_exists($add))
        {
           die ("Fisierul ales exista deja pe server.";
        }
     else
        {
           if(move_uploaded_file ($_FILES[file_up][tmp_name], $add))
             {
                $link=$add;
                $hand=imagecreatefromjpeg($add);
                //Preluam dimensiunile
                $x=imagesx($hand);
                $y=imagesy($hand);
                if ($x!= 150 || $y!=150)
                    {
                       unlink($link);
                       die ("dimensiunile nu corespund";
                    }
                //Daca dimensiunile sunt cele bune...
                else
                    {
                       $count=0;
                       for ($i=0; $i<150; $i++)
                           {
                              for ($j=0; $j<150; $j++)
                                  {
                                     $pixel[$count]=imagecolorat($hand, $i, $j);
                                     $count++;
                                  }
                           }
                       unlink($link);
                       $count=0;
                       $asd="true";
                       //Extragem din DB
                       $sql="SELECT * FROM tabela";
                       $sql=mysql_query($sql);
                       while($row=mysql_fetch_row($sql))
                            {
                               if ($pixel[$count]!=$row[1])
                                  {
                                    $asd="false";
                                  }             
                               $count++;
                            }
                       if ($asd=="false" { echo "parola gresita !"; }
                       else if($asd=="true" { echo "asta e parola!"; }
                       else { die("eroare !"; }
         }
    } } } }
mysql_close($conexiune);
?>


Asta e tot.De mentionat ca nu merge pe IE, insa functioneaza pe Mozilla, Opera, Safari. Bafta !


_______________________________________

Respecta Regulile si nu vei fi banat!
Nu face reclame la alte situri nici nu ai idee de ce putem fi in stare cu situ acela!

pus acum 17 ani
   
Pagini: 1  

Mergi la