Post, Get, Request ve Cookie Değerleri Temizleme Sınıfı

<?php
class temizle {
	function temizle() {
		$this->temizleCookie();
		$this->temizleGet();
		$this->temizleRequest();
		$this->temizlePost();
	}
	function temizlePost() {
		foreach($_POST as $anahtar=>$deger) {
			$_POST[$anahtar] = addslashes($deger);
		}
	}
	function temizleGet() {
		foreach($_GET as $anahtar=>$deger) {
			$_GET[$anahtar] = addslashes($deger);
		}
	}
	function temizleRequest() {
		foreach($_REQUEST as $anahtar=>$deger) {
			$_REQUEST[$anahtar] = addslashes($deger);
		}
	}
	function temizleCookie() {
		foreach($_COOKIE as $anahtar=>$deger) {
			$_COOKIE[$anahtar] = addslashes($deger);
		}
	}
}
$_POST = array('isim'=>"Ahmet'in", 'deger'=>"Kalem'i");
$_GET = array('id'=>"nerde'");
$_REQUEST = array('deger'=>'test"');
$_COOKIE = array('sifre'=>"'osman'in_sifresi");
echo '<fieldset><legend>Eski Hali</legend>';
echo 'POST: ';
print_r($_POST);
echo '<br>GET: ';
print_r($_GET);
echo '<br>REQUEST: ';
print_r($_REQUEST);
echo '<br>COOKIE: ';
print_r($_COOKIE);
echo '</fieldset>';
$temizle =new temizle();
echo '<fieldset><legend>Yeni Hali</legend>';
echo 'POST: ';
print_r($_POST);
echo '<br>GET: ';
print_r($_GET);
echo '<br>REQUEST: ';
print_r($_REQUEST);
echo '<br>COOKIE: ';
print_r($_COOKIE);
echo '</fieldset>';
?>

Çıktısı

---Eski Hali---
POST: Array ( [isim] => Ahmet'in [deger] => Kalem'i ) 
GET: Array ( [id] => nerde' ) 
REQUEST: Array ( [deger] => test" ) 
COOKIE: Array ( [sifre] => 'osman'in_sifresi )
---Yeni Hali---
POST: Array ( [isim] => Ahmet\'in [deger] => Kalem\'i ) 
GET: Array ( [id] => nerde\' ) 
REQUEST: Array ( [deger] => test\" ) 
COOKIE: Array ( [sifre] => \'osman\'in_sifresi )

 

Kullanıcı Tanımlı MD5 Şifreleme

<?php
define("ktMD5_CODE","GuvenliKodBuraya"); //Your eMD5 server-side code
function ktMD5($metin){
	return ktMD5::hash($metin);
}
class ktMD5 {
	static function ikili($metin){
		$cikti=null;
		$i=0;while($i < strlen($metin)){
			$cikti .= "+". str_pad(decbin(ord(substr($metin,$i++,1))), 8, "0", STR_PAD_LEFT);
		}
		return $cikti;
	}
	static function dogrula($metin1,$metin2){ 
		if($metin1 != "+" && $metin2 != "+"){ 
			if($metin1 xor $metin2){
				return "1"; 
			}else{
				return "0"; 
			} 
		}else{
			return "+"; 
		} 
	}
	static function hash($metin){
		if(!defined("ktMD5_CODE")){exit("<b>hata: </b> ktMD5_code tanımlanmadı");}
		$metin = trim($metin);$s = md5(ktMD5_CODE);$metin = md5($metin);
		$i=0;while($i != 32){$dizi_metin[] = substr($metin,$i,8);$i=$i+8;}
		$i=0;while($i != 32){$dizi_s[] = substr($s,$i,8);$i=$i+8;}
		$metin1 = ktMD5::ikili($dizi_s[0].$dizi_metin[1].$dizi_s[2].$dizi_metin[3]);
		$metin2 = ktMD5::ikili($dizi_metin[0].$dizi_s[1].$dizi_metin[2].$dizi_s[3]);
		$kombin=null;
		$e=0;
		while($e < strlen($metin1)){ 
			$kombin .= ktMD5::dogrula(substr($metin1,$e,1),substr($metin2,$e,1)); 
			$e++; 
		}
		$cikti = md5($kombin);
		return $cikti;
	}
}
echo MD5("1234568");
echo "<br>";
echo ktMD5("1234568");
?>

Çıktısı

fe743d8d97aa7dfc6c93ccdc2e749513
e32f8d4f9b769346a74fe8d1a82c5e56

 

SQL Enjeksiyon Kaldırma

<?php
class sql{
	public function enjeksiyonKaldir($string){
		$injections = array(">", "<", "=", "'", "?", "\\", "/", 
						"&", "|","-", "+", "%", "$", "#", "*",
						"or", "and", "drop", "insert", "rename", "select");
		$string = str_replace($injections, "", htmlentities(strtolower($string),ENT_QUOTES,"UTF-8"));
		return $string;
	}
}
$s=new sql;
echo $s->enjeksiyonKaldir("''Or'='Or''");
echo "<br>";
echo $s->enjeksiyonKaldir("anything' OR 'x'='x");
echo "<br>";
echo $s->enjeksiyonKaldir("1'or'1'='1");
echo "<br>";
echo $s->enjeksiyonKaldir("' or 1=1 or ''='");
echo "<br>";
echo $s->enjeksiyonKaldir("\" or 1=1 or \"\"=\"");
echo "<br>";
echo $s->enjeksiyonKaldir("' OR ''='");
echo "<br>";
echo $s->enjeksiyonKaldir("'' OR ''=''");
echo "<br>";
echo $s->enjeksiyonKaldir("'OR''='");
echo "<br>";
echo $s->enjeksiyonKaldir("hey' or 1=1–");
echo "<br>";
echo $s->enjeksiyonKaldir("''Or 1 = 1'");
echo "<br>";
echo $s->enjeksiyonKaldir("' or 1=1-- ");
echo "<br>";
echo $s->enjeksiyonKaldir("or 1=1--");
echo "<br>";
echo $s->enjeksiyonKaldir("\" or 1=1--");
echo "<br>";
echo $s->enjeksiyonKaldir("or 1=1--");
echo "<br>";
echo $s->enjeksiyonKaldir("' or 'a'='a");
echo "<br>";
echo $s->enjeksiyonKaldir("\" or \"a\"=\"a");
echo "<br>";
echo $s->enjeksiyonKaldir("') or ('a'='a");
echo "<br>";
echo $s->enjeksiyonKaldir("hi\") or (\"a\"=\"a");
echo "<br>";
echo $s->enjeksiyonKaldir("'hi' or 'x'='x';");
echo "<br>";
echo $s->enjeksiyonKaldir("x' or 1=1 or 'x'='y");
echo "<br>";
echo $s->enjeksiyonKaldir("\x27\x4F\x52 SELECT *");
echo "<br>";
echo $s->enjeksiyonKaldir("\x27\x6F\x72 SELECT *");
echo "<br>";
echo $s->enjeksiyonKaldir("'or select *");
echo "<br>";
echo $s->enjeksiyonKaldir("admin'--");
echo "<br>";
echo $s->enjeksiyonKaldir("\")) or ((\"x\"))=((\"x");
echo "<br>";
echo $s->enjeksiyonKaldir("\" or \"\"+\"");
echo "<br>";
echo $s->enjeksiyonKaldir("admin\"or 1=1 or \"\"=\"");
echo "<br>";
echo $s->enjeksiyonKaldir("admin\") or (\"1\"=\"1\"--");
?>

Çıktısı

039;039;039;039;039;039;
anything039; 039;x039;039;x
1039;039;1039;039;1
039; 11 039;039;039;
quot; 11 quot;quot;quot;
039; 039;039;039;
039;039; 039;039;039;039;
039;039;039;039;
hey039; 11ndash;
039;039; 1 1039;
039; 11 
11
quot; 11
11
039; 039;a039;039;a
quot; quot;aquot;quot;a
039;) (039;a039;039;a
hiquot;) (quot;aquot;quot;a
039;hi039; 039;x039;039;x039;;
x039; 11 039;x039;039;y
039; 
039; 
039; 
admin039;
quot;)) ((quot;xquot;))((quot;x
quot; quot;quot;quot;
adminquot; 11 quot;quot;quot;
adminquot;) (quot;1quot;quot;1quot;

 

Sipariş Algoritmalarında Dinamik Fiyat Kontrolü

Bu sınıf, E-Ticaret ağ geçidine dinamik fiyatla sipariş vermek için gerekli olan MD5 algoritmasını kullanarak fiyat kontrolleri üretmeyi amaçlamaktadır.

<?php 
define ('NET', 'N');
define ('BRUT', 'B');
class dinamikFiyat {
	var $urunNumarasi='';
	var $fiyatlar=array();
	var $fiyatTipi=NET;
	var $sifre='';
	function MD5saglamaToplami(){
		$fiyatlar=implode(',',$this->fiyatlar).','.$this->fiyatTipi;
		$metin=$this->urunNumarasi.'#'.$fiyatlar.'#'.$this->sifre;	
		return md5($metin);
	}
	function fiyatEkle($fiyat) {
		$this->fiyatlar[]=$fiyat; 
	}
}
$dinamikFiyat = new dinamikFiyat ();
$dinamikFiyat->urunNumarasi = '103'; 
$dinamikFiyat->fiyatTipi = NET;
$dinamikFiyat->sifre = '12345678'; 
$dinamikFiyat->fiyatEkle ('12TRY');
echo $dinamikFiyat->MD5saglamaToplami()."<br>";
echo $dinamikFiyat->urunNumarasi."<br>";
echo $dinamikFiyat->fiyatTipi."<br>";
echo $dinamikFiyat->sifre."<br>";
print_r($dinamikFiyat->fiyatlar);
?>

Çıktısı

27adbf13e9556f4eef2fe30ce5c8b1f7
103
N
12345678
Array ( [0] => 12TRY )

 

Çerezleri Şifreleyerek Saklamak

<?php
class cerezSifreleme {
	var $anahtarim; 
	var $cerezim; 
	var $degerim; 
	var $cerezdizi;
	var $cerez;
	function cerezSifreleme($anahtar = 123) {
		$this->anahtarim=$anahtar;
		$this->cerezdizi = array();
		$this->cerez= "";
		$this->cerezim="";
		$this->degerim="";
	}
	function cerezSifrele() {
		$degersifrele = base64_encode($this->degerim);
		for ($f=0; $f<=strlen($degersifrele)-1; $f++) {
			$this->cerez .= intval(ord($degersifrele[$f]))*$this->anahtarim."|";    
		}
		setcookie($this->cerezim,$this->cerez);
	}
	function cerezCoz(){
		$this->cerezdizi = explode("|",$_COOKIE["$this->cerezim"]);
		$this->degerim = ""; 
			for ($f=0; $f<=count($this->cerezdizi)-2; $f++) {
			$this->degerim .= strval(chr($this->cerezdizi[$f]/$this->anahtarim));
		}
		return(base64_decode($this->degerim)); 	   
	}
	function cerezSec($cerez, $deger){
		$this->cerezim = $cerez;
		$this->degerim = $deger;
		$this->cerezSifrele();
	}
	function cerezAl($cerez) {
		$this->cerezim = $cerez;
		return $this->cerezCoz();
	}
}
$veri=new cerezSifreleme(32421);
$veri->cerezSec("cerez","Merhaba");
echo "<b>".$veri->cerezAl("cerez")."</b> verisini <br><b>".$veri->cerez."</b> olarak depoluyorum.";
?>

Çıktısı

Merhaba verisini 
3656688|3787284|3743752|5267372|4222604|3090772|3047240|4570860|3874348|3526092|2655452|2655452| olarak depoluyorum.

 

Veritabanı Bağlantı Bilgilerini Korumak

<?php
class db {
	var $veritabaniadi;
	var $link;
	var $hatanumarasi;
	var $hata;
	function db() {
		$sunucu = "localhost";
		$veritabani = "php";
		$kullaniciadi = "root";
		$sifre = "";
		$this->veritabaniadi = $veritabani;
		$this->link = mysqli_connect($sunucu,$kullaniciadi,$sifre,$veritabani);
		$this->hatanumarasi = mysqli_errno($this->link);
		$this->hata = mysqli_error($this->link);

	}
	function veritabaniadi() {
		return $this->veritabaniadi;
	}
	function link(){
		return $this->link;
	}
	function hatanumarasi(){
		return $this->hatanumarasi;
	}
	function  hata() {
		return $this->hata;
	}
}
$db=new db();
$sorgu=mysqli_query($db->link(),"select * from php limit 1");
while($s=mysqli_fetch_array($sorgu)){
	echo $s["id"]."<br>";
	echo $db->hata."<br>";
	echo $db->hatanumarasi."<br>";
	echo $db->veritabaniadi;
}
?>

Çıktısı

1

0
php

 

Spam Botlar için Email Adresini Şifreleme Sınıfı

<?php 
class mailSifrele{
	function cr($email){
		$mail=null;
		for ($x=0;$x<strlen($email);$x++) {
			$mail .= "&#".ord(substr($email,$x)).";"; 
		}
		echo "<a href=\"mailto:$mail\">".$mail."</a>";
  }    
}

$sifrele = new mailSifrele();
echo $sifrele->cr("ulusanyazilim@gmail.com");
echo "<br>";
echo $sifrele->cr("zeynelulusan@gmail.com");
echo "<br>";
?>

Botlar için Çıktı

<a href="mailto:&#117;&#108;&#117;&#115;&#97;&#110;&#121;&#97;&#122;&#105;&#108;&#105;&#109;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#117;&#108;&#117;&#115;&#97;&#110;&#121;&#97;&#122;&#105;&#108;&#105;&#109;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a><br><a href="mailto:&#122;&#101;&#121;&#110;&#101;&#108;&#117;&#108;&#117;&#115;&#97;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#122;&#101;&#121;&#110;&#101;&#108;&#117;&#108;&#117;&#115;&#97;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a><br>

Gerçek Kullanıcılar için Çıktı

<a href="mailto:ulusanyazilim@gmail.com">ulusanyazilim@gmail.com</a><br>
<a href="mailto:zeynelulusan@gmail.com">zeynelulusan@gmail.com</a><br>