Alan Adı - domain - Sorgulama scripti (php)

Uzun zamandır paylaşmayı düşündüğüm alan adı scriptini şimdi paylaşıyorum umarım işinize yarar. Scriptimiz 2 dosya ve 3 bölümden oluşmaktadır. Alanadisorgula.php dosyamızda formdan domain bilgileri isteniyor ve denetlenerek alan adının dolu veya boş olduğu sorgulanıyor. Alanadikimde.php ise , dolu olan domainin bilgilerinin çıktısını veriyor. Scriptimizin sıkışmış dosyasını çekeceğiniz link adresi yazımızın en son satırında verilmiştir.

        Scriptimize yeni bir alan adı uzantısı ekleme : Bu işlemi yapabilmek için öncelikle bir parça php bir parça da html bilgisine sahip olmalıyız. Eğer bu konularda bilgimiz hiç yok ise bilen bir arkadaşımızdan yardım almamız gerekmektedir.
    
        Bir paça php ve html bilgimizin var olduğunu düşünerek konumuzu anlatmaya çalışacağım. Eklemek istediğim alan adı uzantısı .eu olsun. Zaten eklenmesi gerçekten ihtiyaç olan bir alan adı uzantısı. Biraz araştırma ile .eu uzantısının kontorlünü yapacağımız sever adrsinin "whois.eu" olduğunu öğreniyoruz.

        Konumuzun ayrıntılarına girmeden önce iki bilgi vermek istiyorum. Aşağıda anlatırken belirteceğimiz satır numaraları eklemeler yapıldıkça değişeceği için belirttiğimiz satırlar bir kaç satır aşağı kayacak olabilir bunu dikkate alınız. Diğer bir husus ise ekleme yapacağımız satırları belirlemek için başına ve sonuna "--" iki tire koyacağız ki tam belirgin olsun. Şimdi konumuza devam edelim.
    
        19. satırdan başlayan servers dizini scriptimizdeki kontrolünü yapacağımız tüm alan adı uzantıları ve bu uzantıların server adreslerini barındırmaktadır. O yüzden servers dinimizin en alt satırına yeni domain uzantımız ve bu uzantının kontrolünün yapılacağı adresi ekliyoruz.
    
        -- "eu" => "whois.eu" -- ... Biraz php bilgimizin ilki burada gerekli. Dizin elemanları virgül ile birbirlerinden ayrılır o yüzden bu satırı ekledikten sonra bir üsteki dizin elemanının sonuna da virgül koyarak şu şekle getiriyoruz. -- "tr" => "whois.nic.tr", --.

         Not : Kullanımda olan domain bilgilerini alabilmek için buu işlemi alanadisorgula.php dosyasında da yapıyoruz.

        Bir sonraki işlem, formumuza bu yeni domain uzantısını eklemek olacaktır. Bu işlem klasik html de form hazırlama işleminden farksızdır. 125. satırdan -- <input class="formfield" -- ... şeklinde başlayıp 224. satırda -- </form> -- şeklinde bitmektedir.

        Bu bölümde dikkat edeceğimzi bir kaç husus olacaktır. Her alan adı uzantısı forma dizi şeklinde eklenmiştir. Ve 15 uzantı 0 dan başlayarak 14 de kadar numaralandırılmıştır (diziler 0 tan başlar). Biz yeni uzantımızı son satıra eklersek direk dizi numarasını 15 yapacağız lakin aralarda bir yerlere yerleştirirsek bir önceki dizi nosundan bir fazlasını vererek alttaki tüm dizi numaralarını da bir artırmamız gerekecektir.
    
        Bir diğer husus burada table kullanarak şekillendirdik yeni uzantı eklediğimizde çıktı görüntüsünün göze hoş görünmesi için table ayarlarını yeniden yapmamız gerekecektir. Table oluşturmayı bilmiyorsanız zaten buraya kadar anlattığım hiç bir şeyi de anlamamış olacağınızdan bu işe hiç girmeyin diyorum.

        Kafanızı daha fazla karıştırmadan kaldığımız yerden devam edelim. Yeni alan adı uzantımızı en son satıra ekleyeceğimizi varsayıyoruz.

            En son satırda şu an     
        -- <td noWrap>
        <div align="left">
        <input type="checkbox" value="fr" name="uzanti[14]">
        fr                                                </div></td>
--


        var. Dizi numarası 14.
        Biz bu satırın altına şu satırı ekliyoruz.
        -- <td noWrap>
        <div align="left">
        <input type="checkbox" value="eu" name="uzanti[15]">
        <td>
        eu                                                </div></td>
--


        Belittiğimiz gibi bir önceki satırda -- uzanti[14] -- iken bizim eklediğimiz satırda -- uzanti[15] -- şeklinde değiştirdik. eu uzantısını aralarda bir yere eklemiş olsaydık bu satırdan sonraki tüm satırlardaki uzantu numaralarını bir artıracaktık.

        Bir sonraki işlem tüm alan adlarının kontrolünü yapan for döngüsünü ekleyeceğimiz alan adı sayısı kadar artırmak olacaktır. Değiştireceğimiz sayı -- for ($sayac=0;$sayac<15;$sayac++) --  döngüsündeki 15 sayısıdır. Şu an kontrol edilen domain sayısı 15 tir. Biz .eu yu ekleyeceğimiz için  15 i 16 yapıyoruz. Değiştirilmiş durumu şöyle olacaktır.
-- for ($sayac=0;$sayac<16;$sayac++) -- .

       
         Not : Kullanımda olan domain bilgilerini alabilmek için buu işlemi alanadisorgula.php dosyasında da yapıyoruz.


        Sıra son ve en karışık işleme geldi. Alan adı kontrolü yaparken izlediğimiz yol şudur. Alan adı uzantısını ona ait serverde kontor ederken bize uzun bir çıktı verir ve bu çıktıda o domaine ait durumu bildirir. Mesela .com uzantılara ait çıktı aldığımızda çıktının ilk satırında eğer o alan adı boşta ise -- No match for "domainadi.com" -- şeklinde bir çıktı verir. O domain kullanımda ise -- No matchs -- kelimeleri yer almaz. Biz de bu çıktı da -- No machs -- varmı yok mu ? şeklinde bir kontor yapar ve sonuca varırız.
        .eu uzantısını kontrol ederken hangi kelime ya da kelimelere bakacağımız bilmiyoruz ve internetten de araştırdık bulamadık ya da bulduk da emin değiliz. Bu kelimeyi bulmak için şu işlemi yapacağız. 259. satırda (satır numaramız yukarıdaki işlemleri yapatıysak değişmiş olacaktır bunu dikkate alın) yer alan
        -- // echo "<PRE>".$alanadibilgisi."</PRE>"."–"; --
        satırını buluyoruz ve başındaki slaş ları(//) kaldırıyoruz.
        -- echo "<PRE>".$alanadibilgisi."</PRE>"."–" --
        Böylece alan adı kontrolü yaptığımızda, alan adı boşta olsa bile çıktı bilgilerini ekrana yazdırıyoruz. Bu da bize kontrol kelimelerinin neler olacağı bilgisi bulma şansı verecektir.

        Buraya kadar bütün işlemleri doğru yaptıysak dosyayı kaydetip servere gönderiyoruz. Dosyamızı çalıştırıp com seçeneğini kaldırıp, eu seçeneğini işaretleyip olması imkansız bir domain sorgusu yapıyoruz. mesela "sdfsa" ... Çıktıyı dikkatle incelediğimizde son satırda yer alan "Status: AVAILABLE" cümlesi bu domainin boşta olduğunu gösteren satır olduğunu anlıyoruz. Çıktıda arayacağımız kelimenin  Status: "Status:    AVAILABLE" olduğunu öğreniyoruz ve if sorgumuza bu kontrolü de ekliyoruz.
        260. satırdaki (yine bu satır da muhtemelen bir kaç sayır aşağı kaymıştır)
        -- if(stristr($alanadibilgisi,"No match") or stristr($alanadibilgisi,"No entries" ) or stristr($alanadibilgisi, "NOT FOUND" ) ){ -- satırını buluyoruz.
        Yeni sorgumuzu da ekleyerek aşağıdaki şekilde değiştiriyoruz.
        -- if(stristr($alanadibilgisi,"No match") or stristr($alanadibilgisi,"No entries" ) or stristr($alanadibilgisi, "NOT FOUND" ) or stristr($alanadibilgisi, "Status:    AVAILABLE" ) ){ --.


        Burada dikkat edeceğimiz nokkta Status ile AVAILABLE arasındaki boşluklar da sorgulamada dikkate alınacağı için kopyala yapıştır yapmamız daha mantıklı olur.

        
         Sorguladığımız kelime veya kelimeler zaten sorgulamada olan kelimelerden olsa idi burada herhangi bir değişiklik yapmamıza gerek kalmayacaktı.



        Son olarak biraz önce değiştirerek
        -- echo "<PRE>".$alanadibilgisi."</PRE>"."–" -- şekline getirdiğimiz satırı tekrar
        -- // echo "<PRE>".$alanadibilgisi."</PRE>"."–" -- şekline getiriyoruz.


        Anlattıkların , anlayabilindiği kadardır. Yazımın ne kadar anlaşılabilir olduğunu bilmiyorum ama şunu biliyorum ki, ben anlayamadığım anlarda kendimi zorladım zorladıkça bilgim arttı. Siz de aynısını yapın. Scriptim tamamen çalışır durumda , sitenizde ilk hali ile çalışmaz ise bir hata yapmışsınız demektir.
        Bu scripti kullanan arkadaşlar olur ise kullandıkları web asresleri bana yazarlarsa incelemek isterim. Karşılaştığınız sorunları e-posta ile bildirirsniz elimden geldiğince yardımcı olmaya çalışırım.
        İyi çalışmalar.

Test Adresi

Alan adı sorgulama scripti indirme linkleri

turbobit

hotfile


Not : Hotfile ve Turbobit dosyayı sanırım küçük olduğu için bir türlü kabul etmedi ben de içine bir kaç resim ekledim.