• 21-02-2021, 22:25:27
    #1
    Merhaba, iyi akşamlar. Aşağıda ParseLogin.php mi paylaşıyorum. Ban sistemi yapmak istedim ama takıldım biraz. users isimli tablomda ban adında kolon bulunmaktadır. Ban 1 olursa kullanıcının sisteme giriş yapamamasını, yasaklandınız diye hata vermesini istiyorum. 0 Olursa ise işlem devam ederek giriş yapabilecek. Aşağıdaki kod üzerinden yardımcı olabilir misiniz? Teşekkürler

    <?php 
        include_once'config/Database.php';
        include_once'config/Utilities.php';
    
        if(isset($_POST['loginBtn'])){
            //initialise the array 
            if (isset($_POST['g-recaptcha-response'])) {
        $captcha = $_POST['g-recaptcha-response'];
    }
            if (!$captcha) {
        echo '<script> alert("Lütfen Robot Olmadığınızı Doğrulayın") </script> <meta http-equiv="refresh" content="1; URL=https://wonderpay.meetweb.me" />';
        exit;
    }
    $kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=SECRET KEY&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    if ($kontrol.success == false) {
        echo '<script> alert("Olası Spam Tespit Edildi!")</script>';
    } else {
        echo '';
    }
            $form_errors = array();
    
            //Validate the form
            $required_fields = array('username', 'password');
    
            $form_errors = array_merge($form_errors, check_empty_fields($required_fields));
    
            if(empty($form_errors)){
                //Collect the form data
                $user = $_POST['username'];
                $password = $_POST['password'];
                isset($_POST['remember']) ? $remember = $_POST['remember'] : $remember = "";
    
    
                //check if user exists in the db 
                $sqlQuery = "SELECT * FROM users WHERE username = :username";
                $statement = $db->prepare($sqlQuery);
                $statement->execute(array(':username' => $user));
    
                //fetch data from DB & compare it with inputted data 
                while($row = $statement->fetch()){
                    $id = $row['id'];
                    $hashed_password = $row['password'];
                    $username = $row['username'];
    
                    //If pwd's match create the session 
                    if(password_verify($password, $hashed_password)){
                        $_SESSION['id'] = $id;
                        $_SESSION['username'] = $username;
    
                        $fingerprint = md5($_SERVER['REMOTE_ADDR']. $_SERVER['HTTP_USER_AGENT']);
                        $_SESSION['last_active'] = time();
                        $_SESSION['fingerprint'] = $fingerprint;
    
                        if($remember == "yes") {
                            rememberMe($id);
                        }
    
                        //call sweetalert 
                        echo $welcome = " 
                                        <script type=\"text/javascript\">
                                            swal({
                                                title: \"Hoşgeldin $username\",
                                                text: \"Giriş yapılıyor\",
                                                type: \"success\",
                                                timer: 6000,
                                                showConfirmButton: false});
                                                
                                                setTimeout(function(){
                                                    window.location.href='./panel';
                                                }, 3000);
    
                                        </script>";                    
                    }
                    else{
                        $result = flashMessage("Hatalı kullanıcı adı yada şifre");
                    }
                }
    
    
            }
            else {
                if(count($form_errors) == 1) {
                    $result = flashMessage("Form 1 de Hata var<br>");
                }
                else {
                    $result = flashMessage('Toplam ' .count($form_errors). ' hata bulundu<br>'); 
                }
            }
        }
        
        function reCaptcha($recaptcha){
      $secret = "6Lewj9wZAAAAAL2_hEPg6OL5wALHRI7Mcp7Q7zhm";
      $ip = $_SERVER['REMOTE_ADDR'];
    
      $postvars = array("secret"=>$secret, "response"=>$recaptcha, "remoteip"=>$ip);
      $url = "https://www.google.com/recaptcha/api/siteverify";
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
      $data = curl_exec($ch);
      curl_close($ch);
    
      return json_decode($data, true);
    }
    
    
    ?>
  • 21-02-2021, 22:33:57
    #2
    @fskgrup; Hocam rica etsem bu konuda da yardımcı olabilir misiniz?
  • 21-02-2021, 22:38:14
    #3
    44. Satıra bi if çakarsanız bence işinizi çözer. Kodu çok fazla incelemedim. user_ban != true/1 şeklinde yaparsın aşağıda kapatırsınız if i else açıp Banlısınız diye mesaj yazdırırsınız.
  • 21-02-2021, 22:39:30
    #4
    PuffyTR adlı üyeden alıntı: mesajı görüntüle
    44. Satıra bi if çakarsanız bence işinizi çözer. Kodu çok fazla incelemedim. user_ban != true/1 şeklinde yaparsın aşağıda kapatırsınız if i else açıp Banlısınız diye mesaj yazdırırsınız.
    Hocam if ile denedim zaten de kullanıcı giriş yapmadığından mıdır veriyi çekemediğinden midir ne bembeyaz ekran kaldı. Kodu inceleyip düzenleyebilir misiniz rica etsem, birde sizin kodunuzu deneyeyim.
  • 21-02-2021, 22:43:49
    #5
    if(password_verify($password, $hashed_password)){
    if($row["userban"]){
    echo "Hesap banlanmış;
    //burada location header yapabilirsin
    die;
    }
  • 21-02-2021, 23:04:03
    #6
    php_bot adlı üyeden alıntı: mesajı görüntüle
    if(password_verify($password, $hashed_password)){
    if($row["userban"]){
    echo "Hesap banlanmış;
    //burada location header yapabilirsin
    die;
    }
    kolonumun adı ban userban yazan yere ban mı yazacağım?
  • 21-02-2021, 23:06:23
    #7
    AndMex adlı üyeden alıntı: mesajı görüntüle
    kolonumun adı ban userban yazan yere ban mı yazacağım?
    Evet eğer 1 ise beyaz ekranda hesap banlamış yazar kendinize göre düzenleyebilirsiniz.
  • 22-02-2021, 00:14:11
    #8
    AndMex adlı üyeden alıntı: mesajı görüntüle
    Merhaba, iyi akşamlar. Aşağıda ParseLogin.php mi paylaşıyorum. Ban sistemi yapmak istedim ama takıldım biraz. users isimli tablomda ban adında kolon bulunmaktadır. Ban 1 olursa kullanıcının sisteme giriş yapamamasını, yasaklandınız diye hata vermesini istiyorum. 0 Olursa ise işlem devam ederek giriş yapabilecek. Aşağıdaki kod üzerinden yardımcı olabilir misiniz? Teşekkürler

    <?php
        include_once'config/Database.php';
        include_once'config/Utilities.php';
    
        if(isset($_POST['loginBtn'])){
            //initialise the array
            if (isset($_POST['g-recaptcha-response'])) {
        $captcha = $_POST['g-recaptcha-response'];
    }
            if (!$captcha) {
        echo '<script> alert("Lütfen Robot Olmadığınızı Doğrulayın") </script> <meta http-equiv="refresh" content="1; URL=https://wonderpay.meetweb.me" />';
        exit;
    }
    $kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=SECRET KEY&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    if ($kontrol.success == false) {
        echo '<script> alert("Olası Spam Tespit Edildi!")</script>';
    } else {
        echo '';
    }
            $form_errors = array();
    
            //Validate the form
            $required_fields = array('username', 'password');
    
            $form_errors = array_merge($form_errors, check_empty_fields($required_fields));
    
            if(empty($form_errors)){
                //Collect the form data
                $user = $_POST['username'];
                $password = $_POST['password'];
                isset($_POST['remember']) ? $remember = $_POST['remember'] : $remember = "";
    
    
                //check if user exists in the db
                $sqlQuery = "SELECT * FROM users WHERE username = :username";
                $statement = $db->prepare($sqlQuery);
                $statement->execute(array(':username' => $user));
    
                //fetch data from DB & compare it with inputted data
                while($row = $statement->fetch()){
                    $id = $row['id'];
                    $hashed_password = $row['password'];
                    $username = $row['username'];
    
                    //If pwd's match create the session
                    if(password_verify($password, $hashed_password)){
                        $_SESSION['id'] = $id;
                        $_SESSION['username'] = $username;
    
                        $fingerprint = md5($_SERVER['REMOTE_ADDR']. $_SERVER['HTTP_USER_AGENT']);
                        $_SESSION['last_active'] = time();
                        $_SESSION['fingerprint'] = $fingerprint;
    
                        if($remember == "yes") {
                            rememberMe($id);
                        }
    
                        //call sweetalert
                        echo $welcome = "
                                        <script type=\"text/javascript\">
                                            swal({
                                                title: \"Hoşgeldin $username\",
                                                text: \"Giriş yapılıyor\",
                                                type: \"success\",
                                                timer: 6000,
                                                showConfirmButton: false});
                                                
                                                setTimeout(function(){
                                                    window.location.href='./panel';
                                                }, 3000);
    
                                        </script>";                    
                    }
                    else{
                        $result = flashMessage("Hatalı kullanıcı adı yada şifre");
                    }
                }
    
    
            }
            else {
                if(count($form_errors) == 1) {
                    $result = flashMessage("Form 1 de Hata var<br>");
                }
                else {
                    $result = flashMessage('Toplam ' .count($form_errors). ' hata bulundu<br>');
                }
            }
        }
        
        function reCaptcha($recaptcha){
      $secret = "6Lewj9wZAAAAAL2_hEPg6OL5wALHRI7Mcp7Q7zhm";
      $ip = $_SERVER['REMOTE_ADDR'];
    
      $postvars = array("secret"=>$secret, "response"=>$recaptcha, "remoteip"=>$ip);
      $url = "https://www.google.com/recaptcha/api/siteverify";
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
      $data = curl_exec($ch);
      curl_close($ch);
    
      return json_decode($data, true);
    }
    
    
    ?>
    Aşağıdaki şekilde muhtemelen işinize yarayacaktır.
    <?php
        include_once'config/Database.php';
        include_once'config/Utilities.php';
     
        if(isset($_POST['loginBtn'])){
            //initialise the array
            if (isset($_POST['g-recaptcha-response'])) {
        $captcha = $_POST['g-recaptcha-response'];
    }
            if (!$captcha) {
        echo '<script> alert("Lütfen Robot Olmadığınızı Doğrulayın") </script> <meta http-equiv="refresh" content="1; URL=https://wonderpay.meetweb.me" />';
        exit;
    }
    $kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=SECRET KEY&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    if ($kontrol.success == false) {
        echo '<script> alert("Olası Spam Tespit Edildi!")</script>';
    } else {
        echo '';
    }
            $form_errors = array();
     
            //Validate the form
            $required_fields = array('username', 'password');
     
            $form_errors = array_merge($form_errors, check_empty_fields($required_fields));
     
            if(empty($form_errors)){
                //Collect the form data
                $user = $_POST['username'];
                $password = $_POST['password'];
                isset($_POST['remember']) ? $remember = $_POST['remember'] : $remember = "";
     
     
                //check if user exists in the db
                $sqlQuery = "SELECT * FROM users WHERE username = :username";
                $statement = $db->prepare($sqlQuery);
                $statement->execute(array(':username' => $user));
     
                //fetch data from DB & compare it with inputted data
                while($row = $statement->fetch()){
                    $id = $row['id'];
                    $hashed_password = $row['password'];
                    $username = $row['username'];
     
                    //If pwd's match create the session
                    if(password_verify($password, $hashed_password)){
    
                        if($row['ban'] == "1")
                        {
                        echo $welcome = "
                                        <script type=\"text/javascript\">
                                            swal({
                                                title: \"\",
                                                text: \"Yasaklandınız\",
                                                type: \"\",
                                                timer: 6000,
                                                showConfirmButton: false});
                                        </script>";        
                        }
    
                        $_SESSION['id'] = $id;
                        $_SESSION['username'] = $username;
     
                        $fingerprint = md5($_SERVER['REMOTE_ADDR']. $_SERVER['HTTP_USER_AGENT']);
                        $_SESSION['last_active'] = time();
                        $_SESSION['fingerprint'] = $fingerprint;
     
                        if($remember == "yes") {
                            rememberMe($id);
                        }
     
                        //call sweetalert
                        echo $welcome = "
                                        <script type=\"text/javascript\">
                                            swal({
                                                title: \"Hoşgeldin $username\",
                                                text: \"Giriş yapılıyor\",
                                                type: \"success\",
                                                timer: 6000,
                                                showConfirmButton: false});
                                                
                                                setTimeout(function(){
                                                    window.location.href='./panel';
                                                }, 3000);
     
                                        </script>";                    
                    }
                    else{
                        $result = flashMessage("Hatalı kullanıcı adı yada şifre");
                    }
                }
     
     
            }
            else {
                if(count($form_errors) == 1) {
                    $result = flashMessage("Form 1 de Hata var<br>");
                }
                else {
                    $result = flashMessage('Toplam ' .count($form_errors). ' hata bulundu<br>');
                }
            }
        }
        
        function reCaptcha($recaptcha){
      $secret = "6Lewj9wZAAAAAL2_hEPg6OL5wALHRI7Mcp7Q7zhm";
      $ip = $_SERVER['REMOTE_ADDR'];
     
      $postvars = array("secret"=>$secret, "response"=>$recaptcha, "remoteip"=>$ip);
      $url = "https://www.google.com/recaptcha/api/siteverify";
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
      $data = curl_exec($ch);
      curl_close($ch);
     
      return json_decode($data, true);
    }
     
     
    ?>
    [COLOR=#000000][FONT=Open Sans][/FONT][/COLOR]
  • 22-02-2021, 17:34:31
    #9
    Cani23 adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki şekilde muhtemelen işinize yarayacaktır.
    <?php
        include_once'config/Database.php';
        include_once'config/Utilities.php';
     
        if(isset($_POST['loginBtn'])){
            //initialise the array
            if (isset($_POST['g-recaptcha-response'])) {
        $captcha = $_POST['g-recaptcha-response'];
    }
            if (!$captcha) {
        echo '<script> alert("Lütfen Robot Olmadığınızı Doğrulayın") </script> <meta http-equiv="refresh" content="1; URL=https://wonderpay.meetweb.me" />';
        exit;
    }
    $kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=SECRET KEY&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    if ($kontrol.success == false) {
        echo '<script> alert("Olası Spam Tespit Edildi!")</script>';
    } else {
        echo '';
    }
            $form_errors = array();
     
            //Validate the form
            $required_fields = array('username', 'password');
     
            $form_errors = array_merge($form_errors, check_empty_fields($required_fields));
     
            if(empty($form_errors)){
                //Collect the form data
                $user = $_POST['username'];
                $password = $_POST['password'];
                isset($_POST['remember']) ? $remember = $_POST['remember'] : $remember = "";
     
     
                //check if user exists in the db
                $sqlQuery = "SELECT * FROM users WHERE username = :username";
                $statement = $db->prepare($sqlQuery);
                $statement->execute(array(':username' => $user));
     
                //fetch data from DB & compare it with inputted data
                while($row = $statement->fetch()){
                    $id = $row['id'];
                    $hashed_password = $row['password'];
                    $username = $row['username'];
     
                    //If pwd's match create the session
                    if(password_verify($password, $hashed_password)){
    
                        if($row['ban'] == "1")
                        {
                        echo $welcome = "
                                        <script type=\"text/javascript\">
                                            swal({
                                                title: \"\",
                                                text: \"Yasaklandınız\",
                                                type: \"\",
                                                timer: 6000,
                                                showConfirmButton: false});
                                        </script>";        
                        }
    
                        $_SESSION['id'] = $id;
                        $_SESSION['username'] = $username;
     
                        $fingerprint = md5($_SERVER['REMOTE_ADDR']. $_SERVER['HTTP_USER_AGENT']);
                        $_SESSION['last_active'] = time();
                        $_SESSION['fingerprint'] = $fingerprint;
     
                        if($remember == "yes") {
                            rememberMe($id);
                        }
     
                        //call sweetalert
                        echo $welcome = "
                                        <script type=\"text/javascript\">
                                            swal({
                                                title: \"Hoşgeldin $username\",
                                                text: \"Giriş yapılıyor\",
                                                type: \"success\",
                                                timer: 6000,
                                                showConfirmButton: false});
                                                
                                                setTimeout(function(){
                                                    window.location.href='./panel';
                                                }, 3000);
     
                                        </script>";                    
                    }
                    else{
                        $result = flashMessage("Hatalı kullanıcı adı yada şifre");
                    }
                }
     
     
            }
            else {
                if(count($form_errors) == 1) {
                    $result = flashMessage("Form 1 de Hata var<br>");
                }
                else {
                    $result = flashMessage('Toplam ' .count($form_errors). ' hata bulundu<br>');
                }
            }
        }
        
        function reCaptcha($recaptcha){
      $secret = "6Lewj9wZAAAAAL2_hEPg6OL5wALHRI7Mcp7Q7zhm";
      $ip = $_SERVER['REMOTE_ADDR'];
     
      $postvars = array("secret"=>$secret, "response"=>$recaptcha, "remoteip"=>$ip);
      $url = "https://www.google.com/recaptcha/api/siteverify";
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
      $data = curl_exec($ch);
      curl_close($ch);
     
      return json_decode($data, true);
    }
     
     
    ?>
    [COLOR=#000000][FONT=Open Sans][/FONT][/COLOR]

    Merhaba hocam, teşekkürler fakat; Kod çalışmadı yani hoş geldiniz olan uyarıyı gösterdi ve giriş yaptı banlı olmasına rağmen