Sxe 10.2 İndir , Sxe 10.2 WallHack İndir , Cs 1.6 & 1.5 Sxe 10.2 Wall Hack Download - CS TR
<<<<<<<<<<<<< CS TR >>>>>>>>>>>>>>>>>

Linkleri görebilmek & kisaca forumdan daha yararli bir şekilde yararlanmak için üye olunuz

<<<<<<<<<<<<< CS TR >>>>>>>>>>>>>>>>>

Sxe 10.2 İndir , Sxe 10.2 WallHack İndir , Cs 1.6 & 1.5 Sxe 10.2 Wall Hack Download - CS TR

Sxe 10.2 CS 1.5 & 1.6 Wall Hack Sxe Hack , Sxe Hileleri ,Sxe 10.2 Hileleri , Full - Torrent Oyunlar,Tüm Oyunlar , Visual Basic Dersleri,
 
AnasayfaSSSAramaÜye ListesiKullanıcı GruplarıKayıt OlGiriş yap

Paylaş | 
 

 PHP Güvenlik

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
fRkn*
♥ CS -TR Kurucusu♥
♥ CS -TR Kurucusu♥
avatar

Mesaj Sayısı : 345
Rep Puanı : 1103
Kayıt tarihi : 23/07/10
Nerden : İzmir

MesajKonu: PHP Güvenlik   Ptsi Ağus. 02, 2010 12:19 am

Basit PHP Güvenliği:
PHP script'lerinizin güvenli olduğundan emin olmanız için ilk olarak
temel kuralları yerine getirmeniz gerekiyor: kullanıcı girdilerinin
(input) filtrelenmesi ve çıktıların (output) kontrolü. Eğer bu ikisini
doğru olarak yapmıyorsanız script'leriniz her zaman güvenlik problemleri
ile karşı karşıya olacaktır. Bu makale'de bu iki işlem ile ilgili
yapılması gerekenler anlatılıyor.

Bütün Girileri Filtreleyin:
Script'leriniz harici bir kaynaktan girdi okuduğunda, bu verinin
tehlikeli olduğu varsayılmalı ve güvenilmemelidir. Güvenilmemesi gereken
değişkenlerden bazıları: $_POST, $_GET, $_REQUEST ve hatta pek mümkün
görünmese de önemli veriler içerebilecek olan $_SERVER .

Tehlikeli bir değişkenden gelen veriyi işlemlere tabi tutmadan önce ilk
olarak önce onaylanamanız ve filtrelemeniz gerekmektedir. Onaylama
işlemi ile sadece sizin istediğiniz verileri içerdiğinden emin
olabilirsiniz. Örneğin bir eposta adresi bilgisi bekliyorsanız, onay
fonksiyon'unuz girilen verinin doğru bir eposta adresi olup olmadığını
kontrol etmeli.

Hemen basit bir örnekle açıklayalım. Aşağıdaki kodda ilk olarak $_POST
değişkeninden e-posta adresini alıyorum ve sonra veriyi onaylama
işlemine sokuyorum:


Kod:
<?php
$eposta = $_POST['eposta']; # Burada veri hala TEHLİKELİ durumda

// Validate e-mail

if (valid_eposta($eposta) == false) {

// Geçerli bir adres değil

die('Geçerli bir eposta adresi değil!');
}
?>



Veriyi kontrol ederek
script'imize tehlikeli verilerin eklenmesi riski büyük ölçüde azaltılmış
oldu. valid_eposta() fonksiyon'u PHPit Code Snippet veritabanında da
bulunabilecek olan standart bir onay işlemidir.

Verimiz daha güvenli olsa da işimiz daha bitmedi çünkü hala veriyi MySQL
veritabanına yerleştirmek istiyoruz ve bu işlemden önce de bazı
kontroller yapmamız gerekiyor. PHP tüm önemli karakterlerin escape
edildiği mysql_real_escape_string() standart fonksiyon'unu sunar. Diğer
bir yöntem ise SQL sorgusunda veriyi her zaman kesme imleri arasına
yerleştirin.

Önceki örneğimize devam edelim:


Kod:
<?php
$eposta = $_POST['eposta']; # Burada veri hala TEHLİKELİ durumda

// Validate e-mail

if (valid_eposta($eposta) == false) {

// Geçerli bir adres değil

die('Geçerli bir eposta adresi değil!');
}

// eposta'nın veritabanı için güvenli hale getirilmesi

$eposta = mysql_real_escape_string($eposta);

// Artık güvenli!

?>


Artık elimizdeki eposta
verisi veritabanına güvenli bir şekilde işlenebilir. Hatalardan kaçınmak
için tehlikeli değişkenlere bir ön ek verilebilir, örneğin:




Kod:
<?php
$t_eposta = $_POST['eposta']; # Tehlikeli

// Onay işlemi

$g_eposta = mysql_real_escape_string($d_eposta);
?>



Bu şekilde tehlikeli bir veriyi işleme sokarken ön tarafındaki t_ eklentisi ile hemen farkına varabilirsiniz.

Çıktıların filtrelenmesi
Girdilerde olduğu gibi dışarıya sunulan tüm verilerin de (güvenli olarak
filtreleyip veritabanına işlediğiniz verilerin dahi) filtrelenmesi
gerekmektedir.

Filtrelenmesi gereken en önemli şey probleme yol açabilecek olan HTML
tag'leridir. Bunu yapmanın en kolay yolu bütün HTML'i escape işlemine
sokan htmlentities() fonksiyon'udur:


Kod:
<?php
echo htmlentities($_GET['eposta']);
?>



Bu kod (saldırganın
sayfalarınıza JavaScript kodları eklemesine ve diğer kullanıcıların
cookie'lerini çalmasını sağlayan) muhtemel XSS (çapraz site betik
çalıştırma - cross site scripting) saldırılarını kaldırır. Eğer
mümkünse, htmlentities fonksiyon'unun üçüncü argümanı'nı
(encoding/charset tipi) da kullanmalısınız. Google'da HTML'i escape
işleminde düzgün encoding ayarı yapmadığı için XSS saldırısından
etkileniyordu. Google bu açığı 1 aralık'ta kapattı. Basitçe, her zaman
encoding tipini belirlemelisiniz



Kod:
<?php
echo htmlentities($_GET['eposta'], ENT_QUOTES, 'UTF-8');
?>


Eğer bütün HTML
tag'lerini filtrelemek istemiyorsanız, bazı tag'lere izin vermek
istiyorsanız strip_tags() fonksiyon'unu kullanabilirsiniz. Fakat bu,
<script> tag'lerini filtreleseniz dahi Javascript ekleme
açıklarına karşı bir güvenlik problemi içerebilir. ör ( <div
onclick="alert('Hi!';"> .

Diğer bir yöntem de sadece sizin istediklerinizi filtrelemenize
yarayacak kendi fonksiyon'unuzu yazmanız (veya internet'teki yüzlerce
hazır fonksiyon'dan birini kullanmanız). Bu bazen en iyi yöntem olabilir
fakat herhangi bir şeyi unutmanız durumunda güvenlik problemlerine yol
açabilir.

Son olarak, çıktıyı filtrelemenin en iyi yolu, üç argümanı ile birlikte
htmlentities() fonksiyonunun kullanımı fakat bununda işlevi sınırlı (ör:
formatlama olmaması) kalabilir. Buna çözüm olarak verileri
format'lamanızda kullanılabilecek olan kendi HTML kodunuzu
yaratabilirsiniz. Kendi HTML kodunuzu yaratma ile ilgili olarak Create
your own BBCode, using PHP dokümanına göz atabilirsiniz.

Sonuç :
Bu makalede PHP programlamının iki temel ilkesi olan girdi filtreleme ve
çıktı filtreleme'den bahsettim. Eğer bu ikisini doğru olarak
yapabilirseniz çok güvenli bir PHP script'ine doğru yola çıkmışsınız
demektir.

Verdiğim örnekler çok basit ve hantal. Escape işlemini
otomatikleştirmeniz iyi olabilir. Bunun için iyi bir yöntem gerekli
işlemleri yapan bir class veya fonksiyon'lar yazmanız.

_________________
♥CSTR Kurucusu♥
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://csturkey.forumpro.org
 
PHP Güvenlik
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Sxe 10.2 İndir , Sxe 10.2 WallHack İndir , Cs 1.6 & 1.5 Sxe 10.2 Wall Hack Download - CS TR  :: Webmaster Genel :: Tamamen Ücretsiz Scriptler-
Buraya geçin: