• 07-05-2024, 22:24:13
    #1
    arkadaşlar php'den anlayanlar bakabilirler mi? bir giriş panelimiz var botlarla sürekli giriş çıkış yaparak kullanıcı adlarını patlatıyorlar.
    bizde chatgptye bunu yazdırdık fakat güvenlik kodunu doğru yada yanlış yazsakda direk sorguyu çalıştırıyor haliyle güvenli kodunu sallayan yok ))


    <?php
    error_reporting(0);  // Hata raporlamayı kapat (Güvenli ortamlarda bunu açık bırakmak daha iyidir.)
    session_start();
    
    include_once('sistem/sqli.php');  // Veritabanı bağlantı dosyası
    
    if (empty($_SESSION['user_id'])) {
        if (isset($_POST['submit'])) {
            // Kullanıcı adı, parola dolu mu, alfanumerik mi ve güvenlik kodu doğru mu kontrol et
            $userId = $_POST['userid'];
            $userPass = $_POST['userpass'];
            $guvenlik_kodu = $_POST['guvenlik_kodu'];
    
            if (!empty($userId) && !empty($userPass) && !empty($guvenlik_kodu) &&
                checkAnum($userId) && checkAnum($userPass) &&
                strtoupper($guvenlik_kodu) == strtoupper($_SESSION['security_code'])) {
    
                // mysqli ile güvenli SQL sorgusu
                $stmt = $mysqli->prepare("SELECT id, login, coins, dragon_mark, web_admin, email FROM ".ACCOUNT_DB.".account WHERE login = ? AND password = PASSWORD(?) LIMIT 1");
                $stmt->bind_param("ss", $userId, $userPass);
                $stmt->execute();
                $result = $stmt->get_result();
    
                if ($result->num_rows === 0) {
                    echo '<div class="userdataContainer"><div class="item Hata" id="confirmBox"><div class="itemDesc confirmDesc"><p><span class="confirmTitle">Bilgilendirme!</span><br>Hesap adı veya parola yanlış.</p><br class="clearfloat"></div></div></div>';
                }
                $stmt->close();
            } else {
                echo '<div class="userdataContainer"><div class="item Hata" id="confirmBox"><div class="itemDesc confirmDesc"><p><span class="confirmTitle">Şifrenizde noktalama işaretleri kullanmayın!</span><br>Ne oldu? Kullanıcı adı, parola veya güvenlik kodu eksik/hatalı...</p><br class="clearfloat"></div></div></div>';
            }
        }
    ?>
    
    <div class="dynContent" style="position:relative">
        <h1>Giriş Yap</h1>
        <div class="userdataContainer">
            <form action="" method="POST" class="girisform">
                Kullanıcı Adı:<br>
                <input type="text" name="userid"><br>
                
                Parola:<br>
                <input type="password" name="userpass"><br>
                
                <div class="security">
                    <img src="captcha.php" alt="guvenlik" style="border: 1px solid #999999;"> 
                    <a href='javascript:;' onclick='ChangeCode();'><img src='font/refresh.png' style='display:block' /></a>
                </div>
                <script>
                function ChangeCode() {
                    var NewSecurity = "<img src='captcha.php?rnd=" + Math.random() + "' alt='guvenlik' style='border: 1px solid #999999;'> <a href='javascript:;' onclick='ChangeCode();'><img src='font/refresh.png' style='display:block' />";
                    document.querySelector(".security").innerHTML = NewSecurity;
                    return false;
                }
                </script>
                
                <input type="text" class="validate[required,custom[email]]" id="username" name="guvenlik_kodu" title="" value="" maxlength="40" AUTOCOMPLETE="off"><br>
                <button name="submit" value="Giriş" class="btn">Giriş</button>
            </form>
        </div>
    </div>
    
    <?php
    } else {
        echo '<div class="item" id="confirmBox"><div class="itemDesc confirmDesc"><div class="thumbnailBgSmall"><img src="gf2.geo.gfsrv.net/cdn15/a1507b23f97e5486451eda39ce16bf.png" width="63px" height="63px" /></div><p><span class="confirmTitle">HATA!</span><br />Zaten giriş yapmışsınız.</p><br class="clearfloat" /></div></div>';
    }
    ?>
    yardımcı olabilecek bir yiğit varmı şunu bi çözelim beyin sulandı
  • 07-05-2024, 22:26:31
    #2
    Profilimdeki whatsapp'tan yazarsanız ücretli bir çalışma yapabiliriz
  • 07-05-2024, 22:33:55
    #3
    recaptcha v2 kullanmanızı öneririm hocam. Veya bu şekil bir şey kullanacaksanız hazır kütüphaneleri mevcuttur.
  • 07-05-2024, 22:43:57
    #4
    Ben de kod yazarken chatgpt kullanırım fakat hatalı veya eksik kod verdiği çok oluyor. Alternatif yapay zekalar bakmanız gerekir.

    Size tavsiyem Google recaptcha kullanımı için videolar, github projeleri incelemeniz.

    Botları engelleme taktikleri;
    - Google recaptcha vb. güçlü robot doğrulayıcılar
    - Browser fingerprint doğrulayıcılar kullanmak
    - IP bloguna ve useragent'a göre engelleme yapmak

    Hepsi için github gibi sitelerde projeler, api kullanımları, basit/gelişmiş kod yapıları mevcut. Özellikle youtube'da bununla ilgili videolar size daha çok yardımcı olacaktır.
  • 07-05-2024, 22:51:58
    #5
    Özelden yaz hocam bakıverelim
  • 09-05-2024, 05:25:32
    #6
    merhaba, kullanışlı bir captcha yazıp aktif edebilirim uygun fiyata . düşünürseniz.