logo


Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
kodcu  
#1 Gönderildi : 20 Aralık 2016 Salı 15:46:35(UTC)
kodcu

Sıralama: Advanced Member

Gruplar: Registered
Katılan: 12.12.2016(UTC)
Mesajlar: 37
Turkey

Güvenlik

Günümüzde Internet'te ne kadar güvenlik önlemi alınsa, yeridir. Sadece iyi niyetli
olmayan kişilere karşı değil, fakat daha çok ne yaptığını tam bilmeyen Web ziyaretçilerini
de düşünmek ve PHP programlarınızın güvenliğini arttırmak zorundasınız.
Internet’te iyiniyetli olunmaz. Acı, ama gerçek. Internet’e içine zararlı kod
yerleştirilebilecek bir Form koyarsanız, emin olmalısınız ki, birisi bu zararlı kodu koyacaktır.
Sadece kötüniyetli kişilerin size söz gelimi elektronik posta adresi veya mesaj
görünümünde zararlı kod göndermesini önlemek için değil, fakat normal kullanıcıların
yapabilecekleri sıradan hataları yakalamak ve düzeltmek için de önlem almanız gerekir.
Server güvenliği son derece önemli bir konu olmakla birlikte, bunu sağlamak
genellikle tasarımcının sorumluluğunda değildir. Bununla birlikte sayfalarımızın ve
veritabanımızın güvenliği ve Web uygulamalarımızın doğru işlemesi bizden sorulur.
Bir form ile sizin sayfalarınıza veya veritabanınıza ne gibi zararlar verilebilir? Bu
zararların başında, en hafifinden sizin sayfanızı başka yere yönlendirmek gelebilir.
Kötüniyetin ölçüsü arttıkça bu, Server programının açıklarından yararlanarak, Server’daki
dosyaları değiştirmeye veya tahrip etmeye kadar gidebilir. Normal ziyaretçi hataları
arasında ise sözgelimi elektronik posta adresini iki @ işaretiyle yazmaktan tutun, bu işareti
koymamaya, metktubun gideceği bilgisayarın adresini eksik yazmaya kadar uzanan bir dizi
yanlışlık bulunabilir. Ziyaretçiler formu eksik doldurabilirler. Bu gibi eksiklikler ve
yanlışlıkları daha sonra düzeltmek zaman kaybına yol açar. Kimi zaman eksik doldurulmuş
bir Form, bu bilgilerin ulaştırılacağı programda hataya yol açabilir. Bu sebeple, özellikle
Form yoluyla alınan bilgilerin denetimi ve doğrulatılması şarttır.
Bir Form’un içerdiği bilgilerin denetimi ve doğrulanması iki yerde yapılabilir:
istemci-tarafında, sunucu-tarafında. İstemci tarafında, yani ziyaretçiye göndereceğimiz
HTML sayfasının içinde yer alan kodlarla yapacağımız denetim-doğrulama, hızlı çalışır; ve
ziyaretçi ile sunucu arasında iletişim kurulmadan önce yapılır; böylece ziyaretçinin
sözgelimi gönder düğmesini tıkladıktan sonra çok beklemesi gerekmez. Ne var ki bu
yöntemde denetim-doğrulama kodu ziyaretçiye gönderilmiştir; kötü niyetli kişi neyi
denetlediğinizi görecek ve isterse bu denetimi kaldıracak size zararlı kod parçacıkları
gönderebilecektir. Denetimin sunucu tarafında yapılması, belki biraz daha fazla zaman
harcamayı gerektirir, fakat güvenlik açısından daha etkili olabilir. Elektronik posta adresi
doğırulama ve mesajların içinden zararlı kodları ayıklama yöntemlerinden Düzenli İfadeler
bölümünden söz ettik. Orada ele aladığımız örnek kodlar geliştirilerek ziyaretçilerin
girdilerinde daha sıkı aramalar yapılabilir.
Parola ve SSL
PHP gibi, kendisi ziyaretçinin Browser'ına gönderilmeyen bir dille, sitelerimi parola
ile korumak mümkün ve kolaydır. Sitenize sadece sizin vereceğiniz parola ile girilmesini
istiyorsanız, ana sayfanın şöyle başlaması yeter:

Kod:

<?php
if (!isset($parola) || $parola != "gizli_kelime") {
?>
<FORM ACTION="parola_igir.php" METHOD="POST">
Parola: <INPUT NAME="parola" TYPE"password"><BR>
<INPUT TYPE="submit">
</FORM>
<?php
}
else {
// Buraya gizlenen sayga girecek
?> 


PHP ayrıca mevcut hemen hemen bütün sunucu kullanıcı kimlik doğrulama
protokolleri ile uyumludur; ve sunucu yönetimi ile ilişki kurularak daha karmaşık kullanıcı
kimlik doğrulama yöntemleri uygulanabilir. Bu yöntemler arasında Secure Socket Layer
(SSL) yöntemlerini, ve OpenSSL ve ModSSL teknikleri sayabiliriz.

Tırnak İşareti Sorunu
PHP4.0'ü tasarlayanlar, özellikle zararlı kodları gizlemekte kötüniyetli kişilerin
yararlandığı tek ve çift tırnak işaretlerinin sisteme zarar vermesini önlemek amacıyla,
ziyaretçi girdilerindeki tırnak işaretlerinin otomatik olarak Escape karakteri ile zararsız hale
getirilmesini sağlamış bulunuyorlar. Buna göre bir ziyaretçi bir forma söz gelimi "PHP'nin
yararları" yazacak olursa bu "PHP\'nin Yararları" haline dönecektir. Kimi zaman çirkin
görünse de bu, bir sitenin güvenliği için önemli bir kazançtır.
Bu sistemin işleyebilymesi için sunucu yönetiminin PHP kurulumu sırasında php.ini
dosyasında gereken düzenlemeyi yapmış olması gerekir. Bunun yapılmadığı durumlarda,
programcı olarak siz, PHP'nin değişkenlerin değerlerinde gerektiğinde tersbölü işareti
uygulamasını, bu değişkeni addslashes() fonksiyonu ile birlikte kullanarak
çözümleyebilirsiniz. Örnek:
$yeni_degisken = addslashes($eski_degisken)


Bu konudaki kullanıcılar
Guest
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.