• 22-04-2009, 00:48:54
    #1
    Form ile gelen veriyi kontrol ederken çeşitli fonksiyonlar kullanıyoruz hepimiz, ben şöyle bir şey kullandım;
    function guvenlik ($veri) {
    $veri = htmlspecialchars(strip_tags(mysql_escape_string($veri)));
    $veri=trim($veri);
    return $veri; 
    }
    sizce burada açık bıraktığım birşey var mı? replace etmem gereken bir şey mesela? htmlspecialchars kullandıktan sonra başka bir şey yapmaya gerek yok sanırım & vs. için?

    bir de arama yaptığımda buldum, taylanaktepe şu kodu paylaşmış;
    function ttt_injection($str = NULL) {
         $rplce = array(">", "<", "#", "$", "%", "^", "&", "*", "(", ")", "~", "`", "=", "+", "\\", "'", "\"", "|", ";", "?", "!", "[", "{", "]", "}", "CREATE", "INSERT", "DROP", "drop", "DROp", "DRoP", "DrOP", "dROP", "DRop", "Drop", "drOP", "dROp", "DrOp", "dRoP", "UPDATE", "SELECT", "NULL", "FROM", "", "%20", "%3C", "%3E", "%23", "%25", "%7B", "%7D", "%7C", "%5C", "%5E", "%7E", "%5B", "%5D", "%60", "%3B", "%2F", "%3F", "%3A", "%40", "%3D", "%26", "%24");
         $protected = htmlspecialchars($str);
        if (get_magic_quotes_gpc()) {
          $protected = stripslashes($str);
        }
        if (function_exists("mysql_real_escape_string")) {
          $protected = mysql_real_escape_string($str);
        } else {
        $protected = addslashes($str);
        }
       $protected = strip_tags(trim(str_replace($rplce, "", $str))) ;
       return $protected;
      }
    Konu burda

    Replace ederken update gibi terimleri de katmış diziye ama gelen formda bu veriler masum şekilde kullanılıyor olabilir, bunu yapmak doğru değil gibi geldi bana bu yüzden, değil mi?

    Bir de burda mysql_real_escape_string ve magic_quotes da kullanılmış.
    Bu fonksiyonların hangisini kullanmak yada hangilerini kullanmak yeterli, kısacası temiz bir güvenlik sağlama fonksiyonu nasıl olmalı?
  • 22-04-2009, 03:56:13
    #2
    Üyeliği durduruldu
    veriyi girerken normal veri olarakta girebilirsiniz

    https://www.r10.net/php/356709-php-ve...post1058497451

    asil önemli olan burda sizin için hangi tagların zararlı olarak nitelendirdiginiz

    strip_tags fonksiyonunun kullanımı incelerseniz temizlenmemesini istediginiz tagları verebilirsiniz. belirli tagların temizlenmesini saglayabilirsiniz yani