• 11-08-2020, 22:40:19
    #1
    Evet arkadaşlar bütün echo ile basılan yerleri htmlspecialchars() yapmak yerine bi fonk yapsak gelen post içeriğini kontrol etse gelen post içerisinde, html tagları varmı kontrol etse yoksa işleme devam varsa exit ile hata basak ? bunu nasıl yapabilrim etkisi olurmu ?
  • 11-08-2020, 22:48:04
    #2
    Zaten direk $_POST yapısıyla almak doğru değil. Önce bir validasyon yapıp, güvenlik işlemlerini yaptıktan sonra almanız doğru. Bunun için ek bir fonksiyon yazıp, verileri onla almanız gerekir
  • 11-08-2020, 22:48:36
    #3
    Üyeliği durduruldu
    <?php
    function p($par, $st = false)
    {
        if ($st) {
            return htmlspecialchars(addslashes(trim($_POST[$par])));
        } else {
            return addslashes(trim($_POST[$par]));
        }
    }
    ?>
    Örnek Kullanım.
    <?php 
    if($_POST){
    $baslik = p("baslik",true);
    $icerik = p("icerik");
    }
    ?>
  • 11-08-2020, 22:49:12
    #4
    burak2yilmaz adlı üyeden alıntı: mesajı görüntüle
    Zaten direk $_POST yapısıyla almak doğru değil. Önce bir validasyon yapıp, güvenlik işlemlerini yaptıktan sonra almanız doğru. Bunun için ek bir fonksiyon yazıp, verileri onla almanız gerekir
    evet hocam haklısınz söyle bi durum var bunu baştan düşünmedik proje tam biti derken bu çıktı nasıl yapabilirim örnek varmı
  • 11-08-2020, 22:49:57
    #5
    mymajans adlı üyeden alıntı: mesajı görüntüle
    <?php 
    function p($par, $st = false)
    {
        if ($st) {
            return htmlspecialchars(addslashes(trim($_POST[$par])));
        } else {
            return addslashes(trim($_POST[$par]));
        }
    }
    ?>
    hocam bunu bütün post işlemlerindemi kullanacagız ?
  • 11-08-2020, 22:53:53
    #6
    Üyeliği durduruldu
    teknolee adlı üyeden alıntı: mesajı görüntüle
    hocam bunu bütün post işlemlerindemi kullanacagız ?
    Evet tek tek uygulamanız gerekli.

    yada böyle birşeyde kullanabilirsin.

    <?php
    $input_arr = array();
    
    foreach ($_POST as $key => $input_arr) {
    $_POST[$key] = ((sql_injection_korumasi($input_arr)));
    }
    
    foreach ($_GET as $key => $input_arr) {
    $_GET[$key] = ((sql_injection_korumasi($input_arr)));
    }
    
    
    function sql_injection_korumasi($value)
    {
    // eğer get_magic_quotes_gpc açıksa güvenlik uygulama
    if (get_magic_quotes_gpc()) {
    $value = $value;
    }
    else
    {
    //KORUMALARI NÖTRLE
    if(!is_array($value))
    {
    $value = html_entity_decode($value);
    $value = stripslashes($value);
    //$value = nl2br($value);
    //$value = str_replace('\\\\', '', $value);
    
    //KORUMA EKLE
    $value = addslashes($value);
    $value = htmlentities($value);
    //$value = mysql_real_escape_string($value);
    //echo $value."<br>";
    
    //AŞAĞIDAKİ KOD = KARAKTERİNİ GERİ GETİRİYOR |-*-|
    $value = str_replace("|-*-|","=",$value);
    }
    else
    {
    //EĞER POST GET ILE ARRAY ALINIRSA
    foreach ($value as $value2) {
    $value2 = html_entity_decode($value2);
    $value2 = stripslashes($value2);
    //$value2 = nl2br($value2);
    //$value2 = str_replace('\\\\', '', $value2);
    
    //KORUMA EKLE
    $value2 = addslashes($value2);
    $value2 = htmlentities($value2);
    //$value2 = mysql_real_escape_string($value2);
    //echo $value2."<br>";
    
    //AŞAĞIDAKİ KOD = KARAKTERİNİ GERİ GETİRİYOR |-*-|
    $value2 = str_replace("|-*-|","=",$value2);
    $value3[] = $value2;
    }
    $value = $value3;
    }
    }
    return $value;
    }