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

PHP
55 lines
<?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>';
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
10 lines
---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 )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Kullanıcı Tanımlı MD5 Şifreleme

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

Çıktısı

Markdown
2 lines
fe743d8d97aa7dfc6c93ccdc2e749513
e32f8d4f9b769346a74fe8d1a82c5e56
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

SQL Enjeksiyon Kaldırma

PHP
67 lines
<?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\"--");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
28 lines
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;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

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

Çıktısı

Markdown
5 lines
27adbf13e9556f4eef2fe30ce5c8b1f7
103
N
12345678
Array ( [0] => 12TRY )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Çerezleri Şifreleyerek Saklamak

PHP
43 lines
<?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.";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

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

 

Veritabanı Bağlantı Bilgilerini Korumak

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

Çıktısı

Markdown
4 lines
1
0
php
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

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

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

Botlar için Çıktı

Markdown
1 lines
<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>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

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