Merhaba, geçtiğimiz günlerde bir arkadaşımızın bana uzaktan giriş işlemi yaptırmak ile alakalı bir makale yazmam yönünde bir talebi olmuştu. Bildiğiniz gibi bot sistemleri uzaktan veri toplamak için planlanan ve otomatik olarak çalıştırılan sistemlerdir. Genellikle çok çok uzun ömürlü olmasalar da çoğu zaman mükemmel iş kolaylaştıran sistemlerdir. Uzun ömürlü derken, bu tamamen veri aldığınız yere bağlıdır. Örnek benim 3 senedir saat gibi çalışan botum da mevcut. 2 gün sonra patlayan botum da. Bu tamamen sizin şansınıza, ve hedefteki sistemin geliştirilme mekanizmasına kalmış.
Sözü uzatmadan detaylara geçelim. Bu makalemde uzaktan kontrol edilen bot sistemlerinde, hesap girişi nasıl yapılır? konusuna bakacağız. Örnek olarak bir panel olduğunu düşünelim. Bu panel doğal olarak kullanıcı adı ve şifre ile giriş yapısına sahip. Ve biz panele giriş yapıldıktan sonra ekrana gelen verileri okumak ve işlemek istiyoruz. Bunu nasıl yapacağız, dilerseniz başlayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | <?php //Hesabınızın kullanıcı adı (email de olabilir) define('USERNAME', 'myusername'); //Hesabınızın giriş şifresi define('PASSWORD', 'mypassword'); //Bir user agent oluşturalım ki tarayıcı kızmasın. define('USER_AGENT', 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36'); //Çerez bilgimizin nerede depolanacağı (kimlik doğrulama için gerekli). define('COOKIE_FILE', 'cookie.txt'); //Login formu hangi url'den çağırıyor? define('LOGIN_FORM_URL', 'http://fatihsoysal.com/login.php'); //Login formu hangi url'yi çağırıyor? Bu bazen aynı url'dir. define('LOGIN_ACTION_URL', 'http://fatihsoysal.com/login-check.php'); // Gerekli form alanlarını temsil eden ilişkisel bir dizi. // Formun adıyla eşleşmesi için key/ array adlarını değiştirmeniz gerekebilir. $postValues = array( 'username' => USERNAME, 'password' => PASSWORD ); //CURL'yi başlat. $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, LOGIN_ACTION_URL); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postValues)); // Herhangi bir HTTPS hatası almak istemiyoruz. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // Çerez ayrıntılarımızın nerede saklandığı bilgisi. Bu genellikle gerekli // kimlik doğrulaması için, oturum kimliği genellikle çerez dosyasına kaydedilir. curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE); curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_REFERER, LOGIN_FORM_URL); // Herhangi bir yönlendirmeyi takip etmek ister miyiz? curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false); //Giriş istediğini çalıştıralım. curl_exec($curl); //Hata kontrolü if(curl_errno($curl)){ throw new Exception(curl_error($curl)); } //Şu an giriş yaptık. Şifre korumalı bir sayfaya erişmeye çalışalım curl_setopt($curl, CURLOPT_URL, 'http://example.com/protected-page.php'); //Aynı çerez dosyasını kullanalım. curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE); curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //Sonucu ekrana yazdıralım. echo curl_exec($curl); |
Öncelikle bu uygulamanın örnek bir uygulama olduğunu unutmayın. Sadece mantık anlatılmak istendi. Bot sistemleri her sisteme özgü olarak yazılması ve düzenlenmesi gereken sistemlerdir. Açıkçası biraz da meşakkatlidir. Dolayısıyla bu mantığı eğer sisteminizde belli bir aşamaya geldiyseniz kullanabilirsiniz. Soru, görüş ve önerilerinizi yorum olarak bırakabilirsiniz. Kolaylıklar dilerim.
merhabalar, e-posta kontrolü olan bi yerde nasıl üyelik oluşturabiliriz?
fakemail oluÅŸturduk diyelim gelen kutusuna aktivasyon linki gidiyor.
bu soruna nasıl bi çözüm bulabiliriz?
teşekkür ederim, döviz botu yazdım bi kere tıkır tıkır çalıştı 🙂