lostyazilim

Güvenlik Kodu Doğrulama Php ?

13 Mesajlar 6.654 Okunma
lstbozum
wmaraci reklam

Konyali Konyali furkan.konyali@gmail.com Kullanıcı
  • Üyelik 09.04.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Front-end Developer
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 1043
  • Beğeniler 130 / 62
  • Ticaret 5, (%100)
Yarım saatten beri şununla uğraşıyorum.Yardımlarınızı bekliyorum.

uyelik.php

?>




Yeni Üyelik




Anasayfa




































 
Kullanıcı adı: *
Şifre: *
Şifre Tekrar: *
E-Posta: *
Güvenlik Kodu:
 
   




include("baglanti.php");

$kullanici_adi = $_POST["kullanici_adi"];
$parola = $_POST["parola"];
$parolatekrar = $_POST["parolatekrar"];
$eposta = $_POST["eposta"];
$button = $_POST["button"];
$tarih = date("y-m-d");

/*
$guvenlik_kodu = $_POST["guvenlik"];
*/

if($button)
{

/*BURA*/





if($kullanici_adi=="" or $parola=="" or $parolatekrar=="" or $eposta=="")
{
echo "
Lütfen tüm alanları eksiksiz doldurun!
";

}
elseif($parola != $parolatekrar)
{
echo "
Parola ve Parola Tekrar alanları aynı olmalı!
";

}

function checkmail($eposta){
return filter_var($eposta, FILTER_VALIDATE_EMAIL);
}

if(!checkmail($eposta))
{
echo "
Yazdığınız e-posta adresi geçersiz!
";

}

$isim_kontrol = mysql_query("select * from uyeler where kullanici_adi='".$kullanici_adi."'") or die (mysql_error());

$uye_varmi = mysql_num_rows($isim_kontrol);
if($uye_varmi > 0)
{
echo "
Kullanıcı adı başka bir üye tarafından kullanılıyor!
";

}

$eposta_kontrol = mysql_query("select * from uyeler where eposta='".$eposta."'") or die (mysql_error());

$eposta_varmi = mysql_num_rows($eposta_kontrol);
if($eposta_varmi > 0)
{
echo "
E-Posta başka bir üye tarafından kullanılıyor!
";
return;
}

$yenikayit = "INSERT INTO uyeler (kullanici_adi, parola, eposta, tarih)values('".$kullanici_adi."', '".md5(md5($parola))."', '".$eposta."', '$tarih')";

$sorgu = mysql_query($yenikayit);





$guvenlik = mysql_escape_string(strip_tags(htmlspecialchars($_POST['guvenlik'])));

if ($_SESSION['guvenlik_kodu'] == $guvenlik) {

echo "
Kayıt işlemi tamamlandı, lütfen bekleyiniz.
";
header("Refresh: 2; url= index.php");
}

else {
echo "<script>alert('Güvenlik Kodunu Yanlış Girdiniz');</script>";
echo '';
}

}

mysql_close();
ob_end_flush();
?>




guvenlik_kodu.php
//olusturulmus resmi tarayiciya gonderir
create_image();
exit();

function create_image()
{
//md5 ile rastgele sayi uretelim
$md5 = md5(rand(0,999));
//32 karakter yerine sadece 5 karakterini aliyoruz

$pass = substr($md5, 10, 5);
session_start();
$saklama=$_SESSION['guvenlik_kodu'] = $pass;


//resmin boyutlarini ayarliyoruz
$width = 87;
$height = 18;
//resim kaynagini olusturuyoruz
$image = ImageCreate($width, $height);
//BURDA İSTEDİĞİMİZ SAYILARI DEĞİŞİRSEK ARKA BİLEN RENKLERİ DEĞİŞECEKTİR
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 127, 127, 127);
$grey = ImageColorAllocate($image, 204, 204, 204);
$siyah = Imagecolorallocate($image, 100, 100, 100);
$gri = Imagecolorallocate($image, 220, 220, 220);
$mavi = Imagecolorallocate($image, 0, 180, 255);
$sari = Imagecolorallocate($image, 255, 255, 0);

ImageFill($image, 0, 0, $gri);
//Rastgele sayiyi resmin uzerine yaziyoruz
ImageString($image, 3, 30, 3, $pass, $black);
//resme birkac cizgi koyuyoruz
ImageRectangle($image,0,0,$width-1,$height-1,$grey);
/* imageline($image, 0, $height/2, $width, $height/2, $grey);*/
imageline($image, $width/2, 0, $width/2, $height, $grey);
//sunucuya resmin turunu belirtiyoruz
header("Content-Type: image/jpeg");
//Yeni jpeg formatindaki resmin ciktisini aliyoruz
ImageJpeg($image);
//Kaynagi temizliyoruz
ImageDestroy($image);
}
exit();
?>



GÜvenlik kodu texti boş kalsa bile üye olunuyor yani ne kadar if denediysemde olmadı.Texti doğru doldurduğumda hatalı mesajı alıyorum bu seferde.Yardımlarınızı bekliyorum.
 

 

wmaraci
reklam

yapiyoruz yapiyoruz Sakinleş... Kullanıcı
  • Üyelik 23.01.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Antalya
  • Ad Soyad ** **
  • Mesajlar 137
  • Beğeniler 55 / 35
  • Ticaret 0, (%0)
Dostum session'i $saklama değişkenine atamışsın bunu yapmadan denermisin yani:

$_SESSION['guvenlik_kodu'] = $pass;

bu şekilde deneyip sorguyu tekrar gönderirmisin olması lazım?
 

 

Konyali Konyali furkan.konyali@gmail.com Kullanıcı
  • Üyelik 09.04.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Front-end Developer
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 1043
  • Beğeniler 130 / 62
  • Ticaret 5, (%100)

yapiyoruz adlı üyeden alıntı

Dostum session'i $saklama değişkenine atamışsın bunu yapmadan denermisin yani:

$_SESSION['guvenlik_kodu'] = $pass;

bu şekilde deneyip sorguyu tekrar gönderirmisin olması lazım?


olmadı kardeşim yine aynı.

Ek Olarak: Hata mesajını veriyor fakat yinede kayıt ediyor. :S
 

 

yapiyoruz yapiyoruz Sakinleş... Kullanıcı
  • Üyelik 23.01.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Antalya
  • Ad Soyad ** **
  • Mesajlar 137
  • Beğeniler 55 / 35
  • Ticaret 0, (%0)
Dostum kodunu düzenledim capthca sistemini değiştirdim (kendi kullandığım bir script'i koydum) büyük ihtimal çalışır buyur indir:

INDIR BURADAN

NOT: 1 saat içinde indir dosyayı silecem.
 

 

wmaraci
wmaraci

Konyali Konyali furkan.konyali@gmail.com Kullanıcı
  • Üyelik 09.04.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Front-end Developer
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 1043
  • Beğeniler 130 / 62
  • Ticaret 5, (%100)
İndirdim deniyorum kardeşim.Sağol bu arada.

Ek Olarak: Kardeşim elseiflerde hata yapmışsın onları düzelltimde attığın güvenlik kodu doğrulama resimi gözükmüyor.
 

 

yapiyoruz yapiyoruz Sakinleş... Kullanıcı
  • Üyelik 23.01.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Antalya
  • Ad Soyad ** **
  • Mesajlar 137
  • Beğeniler 55 / 35
  • Ticaret 0, (%0)

DSJSPextes adlı üyeden alıntı

İndirdim deniyorum kardeşim.Sağol bu arada.

Ek Olarak: Kardeşim elseiflerde hata yapmışsın onları düzelltimde attığın güvenlik kodu doğrulama resimi gözükmüyor.


Dostum capthca.php'de:

$font = "Tahoma";

bu bölümü:

$font = "Harabara.ttf";

olarak değiştirirsen düzelir.Hızlı cevabını alman için aceleyle yazmıştım dostum iyi etmişsin deneme fırsatım olmadı malum mysql'de yok :)
 

 

Konyali Konyali furkan.konyali@gmail.com Kullanıcı
  • Üyelik 09.04.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Front-end Developer
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 1043
  • Beğeniler 130 / 62
  • Ticaret 5, (%100)
Bakalım birdaha :) yedek alıp :D

Ek Olarak: Kardeşim çağırmada mı hata yapıyorsun gerçi onada baktım fakat yine resim yok napacauk şimdi

Ek Olarak: Benim yazdığım koddan gidelim arkadaşlar zaten onlara alıştım okadar.Bi şu if değiminin neresinde yanlış yaptığımı bulsam :S
 

 

yapiyoruz yapiyoruz Sakinleş... Kullanıcı
  • Üyelik 23.01.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Antalya
  • Ad Soyad ** **
  • Mesajlar 137
  • Beğeniler 55 / 35
  • Ticaret 0, (%0)

DSJSPextes adlı üyeden alıntı

Bakalım birdaha :) yedek alıp :D

Ek Olarak: Kardeşim çağırmada mı hata yapıyorsun gerçi onada baktım fakat yine resim yok napacauk şimdi



Dostum kontrol ettim bende çalışıyor güvenlik resmini çağırırken:


Güvenlik Kodu:




capthca.php font içeriği:


$metin = implode(' ', array_slice($harfler, 0, $karakter));
$font = "Harabara.ttf";


Şu anda bu şekilde resim gösteriyor:



Düzenleme: Tamam dostum yardımcı olacak başkaları çıkar umarım. Kolay gelsin
 

 

Konyali Konyali furkan.konyali@gmail.com Kullanıcı
  • Üyelik 09.04.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek Front-end Developer
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 1043
  • Beğeniler 130 / 62
  • Ticaret 5, (%100)
Kardeşim emeğine sağlık fakat olsa oldu derdim.Kaç kez kontrol edip cevap veriyorum.
 

 

ByLegenS ByLegenS Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 24.04.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Y** K**
  • Mesajlar 43
  • Beğeniler 44 / 17
  • Ticaret 0, (%0)
bence uğraşmayın, hazır kullanın:

http://www.netgenel.net/ntg_guvenlik/

PHP kısmında bu şekide kontrol sağlayabilirsiniz.

if (trim(strtoupper(strtr($_POST['guvenlik_kodu'], 'ışğİŞĞ', 'ISGISG'))) == $_SESSION['guvenlik_kodu']):
echo 'Devam et';
else:
echo 'Kod Hatalı';
endif;


Not: Reklam amaçlı değildir sadece yardım amaçlıdır.
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al