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

PHP
21 lines
<?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));
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
bool(true)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

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

PHP
38 lines
<?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();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

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

 

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

PHP
44 lines
<?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";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
3 lines
h95Pjaec
$1$1xuDtzzC$VcOdiz8wCJRBZgdHhYjWt1
Doğru Şifre
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX