Selco Cod
Selco Cod

Yazılım ve güvenlik üzerine makaleler yazan günümüz teknolojisini yakından takip eden sıradan birisi...

Twitter


Reserve Ip(Komşu Siteler) Class

Bilindiğinin üzerine reserve ip sitenin barındığı server üstünde başka sitelerin barınıp barınmadığını kontrol etmek demektir. Bende bunun için bir class oluşturdum. Bu tür kayıtlar arama motorların üstünden alınır ve bu yüzden tamamen geçerli bir sonuç veremeye bilir. Ben bu betiği hazırlarken bir site üzerinden yararlandım ve bir bot hazırlayıp class haline getirdim. Aslında bunun doğrusu bing gb. ip bazlı arama yapılabilen arama motorlardan kayıt almak fakat hazırı varken ben faydalandıkça faydalanmayı seven birisiyim. Artık burası kullanılamaz hale geldiğin de yazımızı güncelleriz artık. Şimdi öncelikle class dosyamızı paylaşalım.
<?php
# slcQ
# [email protected]
# www.s3lcuk.com

class reverseIP
{
	public $cekilecekSite;
	private $kaynakSite = 'http://www.ip-adresim.net/api/rip.php';
	
	function temiz( $url )
	{
		$url = str_replace('http://', '', $url);
		$url = str_replace('www.', '', $url);
		return trim($url);
	}
	
	function siteBul ($url)
	{
		$c = curl_init();
		curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 0);
		curl_setopt($c, CURLOPT_TIMEOUT, 0);
		curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE);
		curl_setopt($c, CURLOPT_COOKIEFILE , "cookie.txt");
		curl_setopt($c, CURLOPT_COOKIEJAR , "cookie.txt");
		curl_setopt($c, CURLOPT_REFERER , 'www.ip-adresim.net');
		curl_setopt($c, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
		curl_setopt($c, CURLOPT_URL, $this->kaynakSite.'?ip='.reverseIP::temiz($url));
		$contents = curl_exec($c);
		
		$err  = curl_getinfo($c,CURLINFO_HTTP_CODE);
		curl_close($c);
		
		if ($contents) return $contents;
			else return FALSE;
	}
	
	function jsonSonuc()
	{
		$selco = json_decode( reverseIP::siteBul( $this->cekilecekSite ) ); 
		$json['domainler'] = $selco->domains;
		$json['toplam_site'] = count($json['domainler']);
		$json['durum'] = $selco->status;;
		return json_encode( $json );
	}
	
	function siteler()
	{
		$selco = json_decode( reverseIP::siteBul( $this->cekilecekSite ) );
		return $selco->domains;
	}
	
	function toplamSite()
	{
		$selco = json_decode( reverseIP::siteBul( $this->cekilecekSite ) );
		return count($selco->domains);
	}
}
?>
"jsonSonuc();" bu fonksiyonun çıktısı json olarak domainler, toplam_site, durum olarak kullanabilirsiniz. "toplamSite();" bu fonksiyonun çıktısı int değer olup toplam bulunan siteyi gösteriyoruz. "siteler();" bu fonksiyonun çıktısı dizi olarak geliyor ve kullanabilmek için dizi işlemleri yapmak gerekiyor. Görüldüğü üzere çok basit bir sistemdir. Bir de örnek kullanım dosyasını paylaşayım.
<?php
# sinif dosyamızı dahil edip başlatıyoruz.
require 'reserveIp.class.php';
$sinif = new reverseIp;
# hangi sitenin reserve ip durumuna bakılacağını yazıyoruz.
$sinif->cekilecekSite = 'microsoft.com';
# Burdaki sonuç dizi olarak gelip örnek olarak yazdım.
foreach ( $sinif->siteler() as $site )
{
	echo $site.'<br />';
}
?>



Yazı Hakkında Yorumlar