EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ PHP ]

"Curl ile kullanıcı kontrolü" - Uğur YILDIZ - (2007-03-26 20:48:32)   [3583]

Sitemizin dışındaki farklı bir sunucuda bulunduğu iddia edilen bir kullanıcının varlığının doğrulanmasının gerektiğini varsayalım. Kullanıcıdan üye olduğunu iddia ettği sistemin kullanıcı adı ve şifresini aldıktan sonra aşağıdaki fonksiyon ile bunu kontrol edebilirsiniz;

function kullaniciyiKontrolEt($kul_adi,$sifre) {

$site = "http://hedef_url.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$site);
curl_setopt($ch,CURLOPT_REFERER,$site);
curl_setopt($ch, CURLOPT_POSTFIELDS,"Kul_adi=$kul_adi&Sifre=$sifre");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ha=curl_exec($ch);
$pos = strpos($ha, "Gecersiz Tekrar Deneyin");
curl_close($ch);
return $pos;
}

Burada, karşı sistemin kullanıcı adı ve şifreyi kontrol ettiğini bildiğimiz URL, $site değişkeninde tanımlanmaktadır. curl_init() fonksiyonu ile yeni bir oturum başlatılıyor ve curl_setopt() fonksiyonunda kullanılmak üzere bir tanıtıcı değer (handle) döndürülüyor. Daha sonra CURL aktarım işlemlerinde kullanılacak Öntanımlı Sabitler curl_setopt() fonksiyonu ile tek tek tanımlanıyor ve curl_exec() fonksiyonu ile CURL oturumunda tanımlanan Öntanımlı Sabitlere göre işlem gerçekleştiriliyor. Bu işlem sonucunda hedef URL’den bir HTML dosyası dönüyor. Burada fonksiyon geri dönen dosya içerisinde "Geçersiz Tekrar Deneyin" gibi kullanıcının varolmadığı durumlarda karşılaşılabilecek bir ifadeyi strpos() fonksiyonu ile arıyor. Bu arama işlemi sonucunda $pos değişkenine true yada false değeri atanıyor ve en son adımda fonsiyondan geri döndürülüyor. Elbette burada tanımlanan POST edilecek değişken adeti ve ve adları karşı sisteme göre değişiklik gösterecektir.

$site = "http://hedef_url.php";
curl_setopt($ch,
CURLOPT_POSTFIELDS,"Kul_adi=$kul_adi&Sifre=$sifre");
$pos = strpos($ha, "Gecersiz Tekrar Deneyin");

satırlarındaki değerleri kendinize göre düzenleyerek sizde farklı bir sistemdeki kullanıcının var olup olmadığını doğrulayabilirsiniz.

Arkadaşıma gönder , Ana Sayfa