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
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Hocam post ettiğin yer admin tarafı mı. Yoksa halka açık bir yer mi?

    Admin tarafı ise zaten en başta kullanıcı oturumu kontrol ettiğin için daha post edilmeden sessiona takılır o yüzden kafan rahat olsun.

    Halka açık bir yerde ise referer veya captcha en sağlıklı çözümdür.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Arlong
    Arlong's avatar
    Kayıt Tarihi: 14/Şubat/2005
    Erkek

    Htaccessden istisna tanımlamadıysan apache başka domainden veri girişini engeller zaten.

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

    echo htmlbak('<textarea rows="500" cols="500" onmouseover="alert(\'fonksiyonun yeterli değil\');">mausu üzerine getir</textarea> ');

    @arkinfes; bu kodu çalıştırırsan sana cevap verecektir hocam. ayrıca buna gözatabilirsin: http://php.net/manual/en/function.htmlspecialchars.php


    ..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    fiki
    fiki's avatar
    Kayıt Tarihi: 17/Ocak/2017
    Erkek
    arkinfes bunu yazdı
    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(" // <!CDATA ","",$text;

    $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;   

    Hayır hocam bu kod yeterli değil. Zira @lepusmorris hocamın örneğini verdiği gibi birçok xss e sebebiyet verecek yöntem mevcut. <img src=x onerror=alert(2)> vs gibi. Xss için çözümü ilk yorumumda söylemiştim tekrarlayayım "Listedekilerden "zend filter input" geçerliliğini yitirdiğinden tavsiyem "htmlawed" kullanman. Ama istersen "HTMLPurifire" da kullanabilrisin. Karar senin.".

Toplam Hit: 1821 Toplam Mesaj: 15
php html güvenlik form güvenlik