Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP ve Güvenlik meselesi

Konu, 'PHP' kısmında Beholder tarafından paylaşıldı.

  1. Beholder

    Beholder Üye

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayarcı
    Şehir:
    Balıkesir
    Yakinda PHP+mySQL ile ilk acemilik isim ile meydanlarda arz-i endam edecem :eek: etmesinede, bende hafiften paranoya basladi. Yaa lamer dedigimiz nam-i diger script kiddie'ler benim formlarla tuhaf sorgular yapar ve admin sifresini bulurlarsa, yada formlarimda benim gözden kacirdigim yada güvenlik namina yapmam gerekirken bilmedigim, üsendigim, es gectigim noktalarda tuhaf html kodlari ile dizaynimi ve dbmi alt üst ederlerse?

    Cok iyi hatirliyorum. bundan birkac evvel www.divxaltyazi.com'un adminine kizan bir lamercik adamin sayfasini ele güne rezil etmisti. :mad:

    Yaa ben paranoyak oluyorum sanirim :sus: Neyse uzun lafin kisasi, htmlspecialchars(), strlen() gibi baska hangi noktalara dikkat etmeliyim sizce?

    Tesekkürler.
     
  2. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    Bu konuda Mustafa bir şeyler yazmıştı sanırım sabah gene bir şeyler yazacaktır ;)
     
  3. Beholder

    Beholder Üye

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayarcı
    Şehir:
    Balıkesir
    Benimmi gözümden kacti, tam olarak adres nedir?
     
  4. redial

    redial Misafir

    Himmm,


    Sonucta senin kodlarin kusursuz olsa bile, siteni host ettigin sunucunun guvenliginden, ftp sifrenin kalitesine, siteni calistigin makinin guvenliginden, php nin senin engelleyemeyecegin guvenlik sorunlarina kadar 10 larca etken var...

    (Uzun uzun zaman once, forumda sezgin nickiyle yazan arkadasin, f2s deki sitesi, f2s nin konfigurasyon hatasi, ve sozkonusu arkadasin bu hatadan haberdar olmamasi nedeni ile, kapanmak zorunda kalmisti...)

    sonucta, senin yerinde olsam, keske 'hack' edilse diye dusunurum, gonul sorun cikmadan, hatayi saptamaktan yana olur o baska...

    Simdi gelelim, nelere dikkat etmen gerekitgine,
    Oncelikle butun form lanlarini cok iyi kontrol etmen gerekiyor, ben bunun icin yasakli karakterleri secmen yerine, izin verilen karakterleri secmen, ve bunu hic usenmeden tum form alanlari icin yapman (senden paranoyaklar da var :) )
    Zaten bu konuda iyice paranoyaklasinca, bir sure sonra elinde, hemen her yerde kullanabilecegin bir fonksiyonlar toplulugu oluyor :)

    Form alanlarinin disinda, her turlu degiskenini kontrol altinda tutman, url ile gelen surprizlere karsi uyanik olman gerekiyor, soz gelimi kotu niyetli birisi senin sql sorgularini url ile tasidigini gorurse, gozlerinin ici gulecektir...

    Ornegin sen kullanicilarinin profilini duzenletmek icin, profil.php 'ye url ile kullanici id sini yolluyorsan yani ,
    www.sitem.net/profil.php?kull_id=125
    gibi bir duzenek kullaniyorsan, ve kullanici nasil olsa giris yapmis, bende onu onaylamisim, bu durumda, direk kullanici isminin id sini db den ceker ve url nin sonuna eklerim diye dusunursen, yanlis yaparsin,
    zira kotu niyetli birisi yukaridaki url yi gorunce, pekala birde
    www.sitem.net/profil.php?kull_id=1
    seklini deneyebilir...
    1 2 3 diye giderken, admine rastlayabilir vs vs vs...

    Hem is bununla da bitmez, hata mesajlarini cok iyi takip etmelisin,
    sozgelimi, bir gun mySQL sunucun cakildi, ve php sunucuyu bulamayinca ekrana cart deyi, db sunucunun adresi, db adi, username vs gibi bir suru detay iceren bir hata mesaji basti, ?
    halbuki basit bir 'or die' kullanimi ile ister bunu komple engellemek ve hatta fake bir hale getirmek elinde...

    Sonra kullanici kaydi sirasinda, eger kullaniciyi dogrulayacak bir yontem kullanmassan isler cigirindan cikabilir...
    Kullanicidan bir mail adresi isteyip, ona onay maili gondermek sonra kullanicinin o maili acip, bilmen nereye tiklamasi ya da ordaki aktivasyon kodunu biryere yazmasi da can sikici oluyor.. hele birde web mail kullanicilari icin olum...
    Mail adresini alip, kullaniciyi yormadan o anda dogrulayayim desen, mail sunucunun o anlik dondurdugu bir hata, ya da islemin time-out olmasi sikintilari var...
    Burada secim senin... tek dikkat etmen gereken insanlarin sana ozel bilgilerini verdigi...

    Sifre hatirlatma servisleri bence en ciddi sorunlar. zira gizli soru olayi sacma...

    e-mail inizi yazin sifrenizi gonderelim ise kismen mantikli, ama bazi yerlerde, kullaniciya kolaylik olsun diye, uzgunum, mail adresiniz sisteme kayitli degil, gibi seyler yapiliyor, bu da , kotu niyetli adamin olasiliklari test etmesini kolaylastiriyor... (Bu noktada kullaniciya illa guzellik yapilacaksa, 2. denemeden sonra, ornegin 1 gun sure ile isleme izin verilmeye bilir)

    Uff, amma uzattim...
    Sen en iyisi, bir ac siteni birlikte bakalim :)
     
  5. mkarabulut

    mkarabulut Misafir

    Üstad redial güzel noktalara değinmişsin...

    Özetle;
    Sistemde olan güvenlik açıklarına karşı yapabileceğin bir şey yok,kodlamaya gelincede tüm ağırlık kullanıcıdan alacağını değerlerin kontrolünde ...

    Yani gerek post ile gönderilen,gerek url ile gelen değişkenleri güzelce kontrol edersen çok sorun çıkacağını sanmıyorum.( Gerçi geniş bi olay ama...)

    He bir de bazı php'de bazı fonksiyonların güvenli versiyonları vardır. Mesela upload yaparken copy() kullanabilecekken, is_uploaded_file(),move_uploaded_file() gibi daha güvenli fonksiyonları seçmen daha iyi olacaktır. Şu an aklıma gelmiyor ama kullanacağın fonksiyonları da böyle duruma göre seçmen daha iyi olacaktır.

    Bir de üstad redial'ın dediği gibi elinden geldiğince hata mesajlarını kullanıcının görmemesini sağlamalısın... @ operatörü kullanarak,die kullanarak bunların altından kalkabilirsin sanırım...

    kolay gelsin.
     
  6. Beholder

    Beholder Üye

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayarcı
    Şehir:
    Balıkesir
    Her ikinizide cok tesekkürler. Sanirim suan acele etmek yanlis. Biraz daha kendimden emin olayim, öyle upload yaparim. Tabii sizede veririm adresi bir dalarsiniz :D eger müsait zamaniniz varsa.
     
  7. redial

    redial Misafir

    yok yok, sen upload ette yabanciya gitmesin :D :D :D
     
  8. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
  9. redial

    redial Misafir

    Himmm,
    beholder, neden aramadan soruyon :D :D :D
     
  10. Beholder

    Beholder Üye

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayarcı
    Şehir:
    Balıkesir
    Tesekkürler arkadaslar, acikcasi görmemisim bu makaleyi.
     
  11. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    Aslında bunun devamıda var sitede bir yerlerde :)
     
  12. norda_krepusko

    norda_krepusko Üye

    Kayıt:
    5 Ekim 2002
    Mesajlar:
    95
    Beğenilen Mesajlar:
    0
    Meslek:
    bt
    Şehir:
    @home
    en guvenli site hic acilmayan sitedir :)