folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php İle Dışarıdan Gelen Postu Engellemek



Php İle Dışarıdan Gelen Postu Engellemek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek

    Merhabalar,

    Her zaman ki gibi yeni bir sorum olacak :) Şimdi ben form alanımda Tinymce metin editörü kullanıyorum haliyle o alandaki post edilen veriyi html süzgeçinden geçirmiyorum geçirirsem metin editörü bir boka yaramıyor. Böyle olunca dışarıdan post attılar mı html kodları ile siteyi hackleyebilirler diye düşündüm. dışarıdan gelen postu engellemek için token adında bir session oluşturdum gizli bir input içine yazdırdım gönderince session ile formdan gelen token verisi eşleşiyor ise işleme devam ettiriyorum eşleşmiyorsa hata verdiriyorum. Sizce bu yeterli mi ? başka ne gibi yöntemler kullanabilirim ?


    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek
    arkinfes bunu yazdı

    Merhabalar,

    Her zaman ki gibi yeni bir sorum olacak :) Şimdi ben form alanımda Tinymce metin editörü kullanıyorum haliyle o alandaki post edilen veriyi html süzgeçinden geçirmiyorum geçirirsem metin editörü bir boka yaramıyor. Böyle olunca dışarıdan post attılar mı html kodları ile siteyi hackleyebilirler diye düşündüm. dışarıdan gelen postu engellemek için token adında bir session oluşturdum gizli bir input içine yazdırdım gönderince session ile formdan gelen token verisi eşleşiyor ise işleme devam ettiriyorum eşleşmiyorsa hata verdiriyorum. Sizce bu yeterli mi ? başka ne gibi yöntemler kullanabilirim ?

    Isi bilen adam hidden inputu da gonderir yaninda client tarafta oldugun icin bi halta yaramaz o :)

    Html icerisinden problemli olanlari temizlemen lazim her zaman. Script ve meta taglari vs.

     


    There are 10 types of people in the world. Those who knows binary and those who dont...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    http://stackoverflow.com/a/31683058

    Bu isini gorur muhtemelen


    Si vis pacem para bellum.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Php de amatörüm ama diyelim bir .php uzantılı dosyamızı admin isminde bir klasörün içine koyduk.Admin dizininede herkes erişemiyor olsun.Bu durumda bu .php uzantılı dosyamıza istek atılablir mi? Bu php de authentication olayını klasör bazlı yapıyoruz dimi yoksa farklımı yapıyoruz?

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek
    NmC bunu yazdı
    arkinfes bunu yazdı

    Merhabalar,

    Her zaman ki gibi yeni bir sorum olacak :) Şimdi ben form alanımda Tinymce metin editörü kullanıyorum haliyle o alandaki post edilen veriyi html süzgeçinden geçirmiyorum geçirirsem metin editörü bir boka yaramıyor. Böyle olunca dışarıdan post attılar mı html kodları ile siteyi hackleyebilirler diye düşündüm. dışarıdan gelen postu engellemek için token adında bir session oluşturdum gizli bir input içine yazdırdım gönderince session ile formdan gelen token verisi eşleşiyor ise işleme devam ettiriyorum eşleşmiyorsa hata verdiriyorum. Sizce bu yeterli mi ? başka ne gibi yöntemler kullanabilirim ?

    Isi bilen adam hidden inputu da gonderir yaninda client tarafta oldugun icin bi halta yaramaz o :)

    Html icerisinden problemli olanlari temizlemen lazim her zaman. Script ve meta taglari vs.

     

    Hocam işte zararlı olan kodlar hangileri yardımcı olursanız fonksiyon ile süzeyim 

     

    @SinusX bişey anlamadım hocam :S


    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    trooper
    trooper's avatar
    Kayıt Tarihi: 11/Kasım/2007
    Erkek
    arkinfes bunu yazdı

    Merhabalar,

    Her zaman ki gibi yeni bir sorum olacak :) Şimdi ben form alanımda Tinymce metin editörü kullanıyorum haliyle o alandaki post edilen veriyi html süzgeçinden geçirmiyorum geçirirsem metin editörü bir boka yaramıyor. Böyle olunca dışarıdan post attılar mı html kodları ile siteyi hackleyebilirler diye düşündüm. dışarıdan gelen postu engellemek için token adında bir session oluşturdum gizli bir input içine yazdırdım gönderince session ile formdan gelen token verisi eşleşiyor ise işleme devam ettiriyorum eşleşmiyorsa hata verdiriyorum. Sizce bu yeterli mi ? başka ne gibi yöntemler kullanabilirim ?

    $_SERVER["HTTP_REFERER"];  ile referer kontrolü yapıp sadece izin verdiğin domainlerin post atmasına izin verebilirsin istediğin olur ama buda curl vb yöntemlerle aşılabilir


    ZzZzZzZ...!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SPY-CX5
    SPY-CX5's avatar
    Savaş Madalyası Üstün Hizmet Madalyası Savaş Madalyası
    Kayıt Tarihi: 03/Mart/2007
    Erkek

    beyler curl ile bir çok yöntem aşılabiliyor.

    bana göre en sağlıklı yöntem captcha. Google captcha kullanabilirsin.

    hidden token kolaylıkla okunabilir. Referer kontrolüde çözüm değil.

    veya filtreleme olayına girersin belli html taglarına izin verebilirsin. <p> <br> <img gibi

    SPY-CX5 tarafından 25/Mar/17 23:21 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    Tinymce ile <script> tagları gönderilmeyeceği için tavsiyem <script gibi tagları sildirmen.


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    fiki
    fiki's avatar
    Kayıt Tarihi: 17/Ocak/2017
    Erkek

    yahu adam ne sormuş siz ne cavaplar vermişsiniz. csrf tokenlar ıvırlar zıvırlar havalarda uçuşmuş. şimdi hocam ben sana şöyle açıklayayım. TinyMCE'den veri alıp database'e kaydediyorsan ve sonra bunu biryerlerde ekrana basıyorsan 2 zafiyetin oluşma ihtimali var.

    1. SQL Injection
    2. XSS

    Gel gelelim bunlardan korunmaya.

    SQL Injection;

    1. PDO kullan.
    2. Yok ben PDO kullanmam mysql_* fonksiyonları kullanıyorum dersen;  gelen veriyi "mysql_real_escape_string" fonsksiyonuna al ve o hali ile database'e kaydet. Sonra o veriyi bir yerde ekrana basacaksan db'den çektiğin halini "stripslashes" fonksiyonundan geçirip ekrana bas ki eğer mysql_real_escape_string tırnak gibi karakterlerin önüne ters slash koymuşsa onları düzeltsin diye.

    XSS;

    XSS için TinyMCE zaten birşey öneriyor. o önerdiği şeyler şu sayfada mevcut: http://archive.tinymce.com/wiki.php/TinyMCE3x:Security

    Listedekilerden "zend filter input" geçerliliğini yitirdiğinden tavsiyem "htmlawed" kullanman. Ama istersen "HTMLPurifire" da kullanabilrisin. Karar senin.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lepusmorris
    lepusmorris's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    session'da aşılabilir hocam. sen mutlaka pdo kullan. kaydederken de strip_tags ile html kodlarını kontrolden geçirebilirsin. böylece metin editörünü de devre dışı bırakmamış olursun. tabiki bu da yeterli değil. bence bir fonksiyon oluşturup, zararlı olabileceğini düşündüğün bütün kodları içerisinde aratabilirsin. bunu da kendi ihtiyacına göre şekillendirmen gerekiyor. nasıl bir function kullanacağın da datayı nasıl ve nerde kullanacağına bağlı.


    ..
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek
    fiki bunu yazdı

    yahu adam ne sormuş siz ne cavaplar vermişsiniz. csrf tokenlar ıvırlar zıvırlar havalarda uçuşmuş. şimdi hocam ben sana şöyle açıklayayım. TinyMCE'den veri alıp database'e kaydediyorsan ve sonra bunu biryerlerde ekrana basıyorsan 2 zafiyetin oluşma ihtimali var.

    1. SQL Injection
    2. XSS

    Gel gelelim bunlardan korunmaya.

    SQL Injection;

    1. PDO kullan.
    2. Yok ben PDO kullanmam mysql_* fonksiyonları kullanıyorum dersen;  gelen veriyi "mysql_real_escape_string" fonsksiyonuna al ve o hali ile database'e kaydet. Sonra o veriyi bir yerde ekrana basacaksan db'den çektiğin halini "stripslashes" fonksiyonundan geçirip ekrana bas ki eğer mysql_real_escape_string tırnak gibi karakterlerin önüne ters slash koymuşsa onları düzeltsin diye.

    XSS;

    XSS için TinyMCE zaten birşey öneriyor. o önerdiği şeyler şu sayfada mevcut: http://archive.tinymce.com/wiki.php/TinyMCE3x:Security

    Listedekilerden "zend filter input" geçerliliğini yitirdiğinden tavsiyem "htmlawed" kullanman. Ama istersen "HTMLPurifire" da kullanabilrisin. Karar senin.

    @fiki 

    Hocam ilk öncelikle allah razı olsun :) zaten PDO kullanıyorum eskiden Mysql_* kullanırdım bu sefer ki projemde PDO ya geçtim ve biraz zorlandım en önemlisi Bind etmeyi falan hiç anlamadım direkt normal ekliyorum sisteme tabi önce yazdığım fonksiyonda geçiriyoum üstüne mysql_real_escape_string den geçiriyorum. Google captcha kullanmayı planlıyrorum o çözüm olur gibime geliyor. Sizden tek istediğim hangi kodları süzmem gerekiyor ? sedece script yeterli mi ? 

    Bu fonksiyon yeterli mi ?:

    function htmlbak($text) { 

    $text=str_ireplace("<script","",$text);

     

    $text=str_ireplace(" //

    $text=str_ireplace("","",$text);

    $text=str_ireplace(",","",$text);

    $text=str_ireplace(" // ]]> ,","",$text);

    $text=str_ireplace("<style,","",$text);

    $text=str_ireplace(",","",$text);

    $text=str_ireplace(",","",$text);

    return $text;   

    }

     

     

     

     

    arkinfes tarafından 26/Mar/17 14:42 tarihinde düzenlenmiştir

    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
Toplam Hit: 1820 Toplam Mesaj: 15
php html güvenlik form güvenlik