Ayrıntılı Konu Bilgileri
Sayfa BaşlığıKonu: Php de Güvenlik
Mesaj SayısıMesaj Sayısı: 0 cevap var
OkumaGösterim: 789
Google Özel Arama

Gönderen Konu: Php de Güvenlik  (Okunma sayısı 789 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

    sevdaligul

  • Administrator
  • *

  • İleti: 13121
  • Nerden: Konya
  • Rep: +6511/-0
  • Cinsiyet: Bay
  • GüLe SeVDaLı Bir GeNç
    • MSN Messenger - sevdaligul@gmail.com
    • Profili Görüntüle GüLe SeVDaLı BiR GeNçLiK
  • Çevrimdışı
Php de Güvenlik
« : 27 Mart 2011, 09:56:56 »


 

PHP'de 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:
<?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 dizinin ikinci kitabında güvenlik konusuna daha geniş yer vereceğiz.


PHP Kaynakları


Güvenlik dahil, PHP konusunda başvurulacak kaynakların bir kısmı şöyle sıralanıyor. Ayrıca bu kitapçığın örnek kodları arasında, PHP Hosting Companies Search the Directory.htm adlı belgede çık sayıda kurum ve firmasın listesini bulabilirsiniz:
Linklerin Görülmesine İzin Verilmiyor. Üye Ol ya da Giriş Yap
Linklerin Görülmesine İzin Verilmiyor. Üye Ol ya da Giriş Yap
Linklerin Görülmesine İzin Verilmiyor. Üye Ol ya da Giriş Yap
Linklerin Görülmesine İzin Verilmiyor. Üye Ol ya da Giriş Yap
Linklerin Görülmesine İzin Verilmiyor. Üye Ol ya da Giriş Yap
ttp://www.apache.org/info/apache_users.html
Aklımdaki sensin
Fikrimdeki Sen
Sen tekderdimsin
Gülüm Benim


Paylaş delicious Paylaş digg Paylaş facebook Paylaş furl Paylaş linkedin Paylaş myspace Paylaş reddit Paylaş stumble Paylaş technorati Paylaş twitter
 

Benzer Konular

  Konu / Başlatan Yanıt Son İleti
1 Yanıt
1256 Gösterim
Son İleti 13 Ekim 2008, 11:23:26
Gönderen: orkide
0 Yanıt
961 Gösterim
Son İleti 14 Kasım 2010, 10:48:53
Gönderen: sevdaligul
0 Yanıt
1207 Gösterim
Son İleti 18 Aralık 2011, 16:40:24
Gönderen: sevdaligul
0 Yanıt
653 Gösterim
Son İleti 27 Nisan 2012, 11:16:29
Gönderen: alex57
0 Yanıt
593 Gösterim
Son İleti 07 Mayıs 2012, 15:12:40
Gönderen: alex57