Duyuru: Web Tasarımcıları arıyoruz Günün Bağlantısı: Doğru Düzgün Soru Sormanın Yolları
Eyl 06

md5 tut-bırak

Yazan: Altan Tanrıverdi
Sql, Kod Örnekleri, Php Yorum ekle

Bazen parolaları md5 lemeden veritabanında tutmak zorunda kalırız. Bu tür durumlarda hem sql injectionları engellemeye hem de mysql’in md5 kullanımına örnek vermek için aşağıdaki fonksiyonu yazdım.

<?php
function baglan($ka,$pa){
$k=md5($ka);
$p=md5($pa);
$baglan = mysql_connect(”localhost”,”root”,”");
if (!$baglan) { die(’Baglanti Kurulamadı: ‘ . mysql_error());}
mysql_select_db(”veritabani”, $baglan);
$yonetici = mysql_query(”SELECT * FROM tablo where MD5(kullaniciadi)=’$k’ and MD5(parola)=’$p’”);
while($row = mysql_fetch_array($yonetici))
{
$kullaniciadi=$row[’kullaniciadi’];
echo $kullaniciadi;
$parola=$row[’parola’];
echo $parola;
}
}
echo baglan(’altan’,'12345′);
?>

EkleBunu EkleBunu


3 cevap “md5 tut-bırak”

  1. Burcu :

    aslında veritabanında direkt olarak paraloların md5 ile şifrelenmiş hali tutulur yani böylece siz admin olsanızda birinin şifresini göremezsiniz. Bu güzeldir çünkü kullanıcı aynı şifreyi tüm diğer hesaplarında da kullanıyor olabilir. Bu sayede diğer hesap şifrelerini öğrenmeniz söz konusu olamaz.

    Bir de altan, hata vermez ama echo baglan(’altan’,’12345′); derken “echo” kullanmaman gerekmiyor mu baglan()dan zaten bir string dönmüyor ve fonksyionun içinde yazdırılıo herşey.

  2. Altan :

    echo konusunda haklısın :) fazladan yazmışım. aslında function içinde de echo yaptırmam, ama döngü içerisinde rowları değişkenlere sabitlemek alışkanlık olmuş :)

    md5 konusunda da açıklama yazının başında: “zorunda kalırız”.

  3. G K :

    Aslında bütün verileri mysql_escape_string / mysql_real_escape_string yerine MD5′lesek enterprise levelda ultra güvenli secure layerların başını çekecek methodlar geliştirebiliriz zannımca.

    Ayrıca ufacık performans düşüşleri de bizleri cluster teknolojisi konusunda birar guru ve bilinçli donanım yatırımcıları haline getirebilir.

    Faydalarının bununla da biteceğini zannetmem hatta.

Cevap yaz