Bu Blogda Ara

12 Ekim 2007 Cuma

Ramazan Bayramı

Tüm islam aleminin Ramazan bayramı mübarek olsun. Umarım bu bayram vesilesiyle dargınlar barışır, hatalar giderilir. İyi bayramlar...

10 Ekim 2007 Çarşamba

PHP ile Nesne Yönelimli Programlama Örneği

Nesne yönelimli programlamaya php ile bir örnek kod hazırladım. Kod basit olarak formdan gelen verileri derleyerek yöneticimize e-mail olarak gönderiyor. Kod üzerinde yeterince açıklama yaptım. Umarım faydalı olur. Eklemeler devam edecektir...

<?
/* E-mail send script using OOP by Ramazan Bellek (c) 2007
contact: ramazanbellek[at]gmail.com
This is a freeware that you can use it without modify!
Have fun... */

class mail_obje //ileti göndermek için bir nesne oluşturuyoruz.
{
var $kime,$konu,$hata,$baslik,$isim,$soyisim,$mail,$tel,$marka,$soru; // değişkenlerimizi tanımlıyoruz.

function degiskenler($kime,$konu,$hata,$baslik,$isim,$soyisim,$mail,$tel,$marka,$soru) // değişkenlerin formatını kontrol eden fonksiyon
{
function is_email($user_email) // internetten bulduğum e-mail adresinin formatını kontrol eden bir fonksiyon :)
{
$chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
if(strstr($user_email, '@') && strstr($user_email, '.')) {
if (preg_match($chars, $user_email)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
//değişkenlerimizi nesnemize atıyoruz.
$this->alici = $kime;
$this->konu = $konu;
$this->sorun = $hata;
$this->baslik = $baslik;
if ($isim=="") die("İsim Alanı Boş Bırakılamaz...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
$this->ad = $isim;
if ($soyisim=="") die("Soyisim Alanı Boş Bırakılamaz...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
$this->soyad = $soyisim;
if ($mail=="") die("E-mail Alanı Boş Bırakılamaz...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
if (!is_email($mail)) die("Geçersiz e-mail adresi...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
$this->posta = $mail;
if ($tel=="") die("Telefon Alanı Boş Bırakılamaz...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
if (!intval($tel)) die("Lütfen telefon numarasını rakamlarla giriniz...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
$this->telefon = $tel;
if ($marka=="") die("Marka Alanı Boş Bırakılamaz...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
$this->arac = $marka;
if ($soru=="") die("Soru Alanı Boş Bırakılamaz...".'<a href="javascript:history.go(-1);">Geri Dön</a>');
$this->sorusu = $soru;
}
function gonder() // iletiyi gönderen fonksiyonumuz.
{
$kime = $this->alici;
$konu = $this->konu;
$baslik = $this->baslik;
$mesaj = "Kimlik: ".$this->ad." ".$this->soyad."\n"."Araç Markası: ".$this->arac."\n"."Telefon: ".$this->telefon."\n"."SORU?:"."\n".$this->sorusu;
mail($kime,$konu,$mesaj,$baslik) || die($hata); // php mail gönderme fonksiyonu.
echo "İletiniz başarıyla gönderilmiştir...".'<a href="javascript:history.go(-1);">Geri Dön</a>';
}
}
if (!isset($_GET['gonder'])) {
echo "Bu sayfaya direk erişim yasaktır..!".'<a href="javascript:history.go(-1);">Geri Dön</a>';
exit();
}


/* -------------------AYARLAR---------------------- */
$email = "isim@hotmail.com";
$hatamesaj = "Şu anda teknik bir sorundan dolayı iletinizi gönderemiyoruz. Lütfen Daha sonra tekrar deneyiniz...".'<a href="javascript:history.go(-1);">Geri Dön</a>';
$konu = "Bir sorunum var..?";
$baslik = "FROM: ".$_POST['isim']." ".$_POST['soyisim']." <".$_POST['mail'].">";
$baslik .= "Reply-to: ".$_POST['isim']." ".$_POST['soyisim']." <".$_POST['mail'].">";
/* ----------------AYARLAR SON---------------------- */



$nesne = new mail_obje();
$nesne->degiskenler($email,$konu,$hatamesaj,$baslik,$_POST['isim'],$_POST['soyisim'],$_POST['mail'],$_POST['tel'],$_POST['marka'],$_POST['soru']);
$nesne->gonder();
unset($nesne);
?>

7 Ekim 2007 Pazar

PHP Security Engine

Şu anda üzerinde çalıştığım son projem web uygulamalarında güvenliği sağlamak amaçlıdır. Geçen sene BellekSoft adı altında yayınlamayı düşündüğüm ve sadece fikir olarak var olan projeyi artık resmen kodlamaya başladım. http://www.belleksoft.com/ şu anda teknik bir nedenden dolay malesef kapalı. Ben uygulamayı http://www.sourceforge.net/ adresinden GPL (General Public Licence) olarak yayınlayacağım. İsterseniz ben lafı fazla unutmadan uygulamadan biraz bahsediyim.



PHP Security Engine 1.0

Uygulama İngilizce ve Türkçe olmak üzere şimdilik iki dili destekliyor. Sitenize uygulamayı kurmak için öncelikle sitenizdeki tüm dosyaları bilgisayarınızda barındırmanız gerekiyor. Delphi ile yazdığım win32 tabanlı bir uygulama var. Bu uygulamayı kullanarak sitenizdeki tüm dosyaları PHP Security Engine ile uyumlu hale getirebiliyorsunuz. Ayrıca tüm güvenlik ve uygulama ayarlarını bu uygulama üzerinden yapabiliyorsunuz. İsterseniz bu akıllı uygulamayı kullanarak ileride sitenize ani müdehalelerde yapabilirsiniz. Tabiki web siteniz üzerinden de kontrol edebiliyorsunuz ama sağlıklı bir kurulum için uygulamayı kurmanız şart!

Sistem Nasıl Çalışıyor?

Sistem sanılanın aksine çok basit ve etkili bir fitreleme kullanarak faal oluyor. Öncelikle sitenize gelen tüm sorgulama verileri bir merkezde toplanıyor ve küçük bir karar mekanizmasından geçerek sorgunun sıradan mı yoksa bir hack girişimi mi olduğuna karar veriliyor. Saldırı tesipi durumunda iste kullanıcının önceden belirlediği işlemler gerçekleştiriliyor. IP adresi engellenebilir, erişim bir süreliğine yada anlık olarak engellenebilir, yada özel olarak geliştirdiğim Ajan modu (agent mode) ile saldırgan farkına varmadantakip edilebilir. Sitenize bir saldırı olduğun bunu size e-mail olarak bildirebilir ve siz pc başında olmasanız bile WAP üzerinden sitenizi kapatıp açabilirsiniz (acil durumlar için geçerli, sistem zaten saldırganları engelleyecektir!)

Hangi Tür Saldırılar Engelleniyor?

XSS, RFI, SQL inj. gibi açıklar rahat bir şekilde engellenebiliyor. İsterse kullanıcı kendi kuralını oluşturabiliyor.


// Yazının devamı detaylı bir şekilde çok yakında eklenecektir... //

Kişisel Blog Sayfama Hoşgeldiniz...

Bir süreliğine gelişmeleri buradan yayınlayacağım...