• 05-10-2025, 02:32:29
    #1
    Merhaba, aşağıdaki kodu game.php ye yerleştirdiğimde flood koruması saniyede 1 şeklinde çalışıyor.
    Bunu daha az saliselere göre düzenlemem için ne yapmalıyım?
    Teşekkürler.

    if($mode!='defense' or $mode!='fleet' or $mode!='fleetTable' or $mode!='research'){
        if($page!='buildings' or $page!='research'){
            if (!empty($_POST)) {    
                    
                if (isset($_SESSION['last_post_time'])) {
                   $elapsed_time = time() - @$_SESSION['last_post_time'];
                 
                    if ($elapsed_time < 0.01) {
                        ShowErrorPage::printError("Flood Kontrolüne Takıldınız :)");
                        exit;
                    }
                }
                
                $_SESSION['last_post_time'] = time();
    
            }
        }
    }
  • 05-10-2025, 02:44:58
    #2
    time() sadece saniye döndürdüğü için microtime(true) kullanarak farkı milisaniye cinsinden ölçüp, örneğin if(($now - $_SESSION['last_post_time']) < 0.1) şeklinde kontrol yapmalısın.
  • 05-10-2025, 02:48:07
    #3
    SiberOtag adlı üyeden alıntı: mesajı görüntüle
    time() sadece saniye döndürdüğü için microtime(true) kullanarak farkı milisaniye cinsinden ölçüp, örneğin if(($now - $_SESSION['last_post_time']) < 0.1) şeklinde kontrol yapmalısın.
    Kodu düzenleyebilir misiniz? milisaniye cinsinden kontrol sağlamasını istiyorum.
  • 05-10-2025, 02:50:37
    #4
    motoworld adlı üyeden alıntı: mesajı görüntüle
    Kodu düzenleyebilir misiniz? milisaniye cinsinden kontrol sağlamasını istiyorum.
    $elapsed_time = microtime(true) - @$_SESSION['last_post_time'];
    
    if ($elapsed_time < 0.1) { // 0.1 = 100 milisaniye
    ShowErrorPage::printError("Flood Kontrolüne Takıldınız :)");
    exit;
    }
    
    $_SESSION['last_post_time'] = microtime(true);
    burayı ekleseniz çalışır diğer türlü atınca kod bozuk görünüyor burada
  • 05-10-2025, 02:52:31
    #5
    SiberOtag adlı üyeden alıntı: mesajı görüntüle
    $elapsed_time = microtime(true) - @$_SESSION['last_post_time'];
    
    if ($elapsed_time < 0.1) { // 0.1 = 100 milisaniye
    ShowErrorPage::printError("Flood Kontrolüne Takıldınız :)");
    exit;
    }
    
    $_SESSION['last_post_time'] = microtime(true);
    burayı ekleseniz çalışır diğer türlü atınca kod bozuk görünüyor burada
    Teşekkür ederim.