Vergi Numarası Doğrulama Sınıfı

<?php
class vergino{
	static function dogrula($no) {
		$no = trim($no);
		$topla = 0;
		$sakla = 0;
		if (strlen($no) != 10)
			return false;
		for($i = 0; $i < strlen($no) - 1; $i++) {
			if(!is_numeric($no[$i]))
				return false;
			$sakla = ($no[$i] + 10 - ( $i + 1 ) ) % 10;
			$topla = ($sakla == 9 ? $topla + $sakla : $topla + (($sakla * (pow(2, 10 - ( $i + 1 ))) ) % 9));	
		}
		if ($no[strlen($no) -1] == (10 - ($topla % 10)) % 10)
			return true;	
		return false;
	}
}
var_dump(vergino::dogrula(9561019891));
?>

Çıktısı

bool(true)

 

Web Site Adresine Erişim Kontrol Sınıfı

<?php
class adresTest{
	var $vektor = array();
	function __construct($time){
		set_time_limit($time);
	}
	function ekle($adres){
		$this->vektor[] = $adres;
	}
	function listele(){
		$list = $this->vektor;
		for($i = 0; $i < count($list);$i++){
			$this->test($list[$i]);
		}
	}
	function test($adres) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $adres);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		if(parse_url($adres, PHP_URL_SCHEME) == "https"){
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		}
		$cikti = curl_exec($ch);
		$bilgi = curl_getinfo($ch, CURLINFO_HTTP_CODE);
		$hatalar = array("0","400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", "415", "500", "501", "502", "503", "504", "505");
		if(in_array($bilgi, $hatalar)) {
			echo "<a href=\"".$adres."\" target=\"_blank\">".$adres."</a> <b>($bilgi) Sayfaya Erişilemiyor!</b><br />";
		}else{
			echo "<a href=\"".$adres."\" target=\"_blank\">".$adres."</a> <b>($bilgi) Geçerli Sayfa.</b><br />";
		}
		curl_close($ch);
	}
}
$test = new adresTest(0);
$test->ekle('http://www.google.com.tr');
$test->ekle('https://www.ulusanyazilim.com/feed');
$test->listele();
?>

Çıktısı

http://www.google.com.tr (200) Geçerli Sayfa.
https://www.ulusanyazilim.com/feed (301) Geçerli Sayfa.

 

Rastgele Şifre Oluşturma,Tuzlu Şifreleme ve Doğrulama

<?php
class Sifre {
	var $tuz;
  function sifrele($sifre, $tuz = '') {
		$this->tuz=$tuz;
    $buyu = '$1$';
    $karakterler = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    if (strlen($this->tuz) < 8) {
      mt_srand ((double) microtime() * 1000000);
      for ($i = 8; $i > strlen($this->tuz);) {
        $this->tuz .= $karakterler{mt_rand (0, strlen($karakterler)-1)};
      }
    }
    $passwd = crypt($sifre, $buyu . $this->tuz);
    return($passwd);
  }
  function kontrol($sifre, $sifreli) {
    $test = $this->sifrele($sifre, substr($sifreli, 3, 8));
    if ($test == $sifreli) {
      return(true);
    }else{
      return(false);
    }
  }
  function rastgeleSifreUret() {
    $karakterler = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    $this->tuz=mt_srand ((double) microtime() * 1000000);
    for ($i = 8; $i > strlen($this->tuz);) {
      $this->tuz .= $karakterler{mt_rand (0, strlen($karakterler)-1)};
    }
    return($this->tuz);
  }
}
$p = new Sifre;
echo $rastgele= $p->rastgeleSifreUret();
echo "<br>";
echo $sifreli = $p->sifrele($rastgele,$tuz=rand(1,2));
echo "<br>";
if ($p->kontrol($rastgele,$sifreli)) {
echo "Doğru Şifre";
}else{
echo "Hatalı Şifre";
}
?>

Çıktısı

h95Pjaec
$1$1xuDtzzC$VcOdiz8wCJRBZgdHhYjWt1
Doğru Şifre