• 04-01-2024, 23:49:31
    #1
    Beni Hatırlaya tıklamayınca aynı ekrana atıyor. sorun neden kaynaklanır acaba?

  • 04-01-2024, 23:52:17
    #2
    Ekran görüntüsü değil kodları paylaşmalısın. Aksi taktirde; kodlama dili nedir? Arka planda ne dönüyor? Nasıl anlayacağız?
  • 04-01-2024, 23:54:25
    #3
    TuncayTEKE adlı üyeden alıntı: mesajı görüntüle
    Ekran görüntüsü değil kodları paylaşmalısın. Aksi taktirde; kodlama dili nedir? Arka planda ne dönüyor? Nasıl anlayacağız?
    <div class="container">
    <div id="login">
    <div class="row">
        <div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4">
        <div class="well">
        <div id="bilgi"></div>
        <form id="login-form" class="form-horizontal" method="post">
          <div id="grup-mail" class="form-group">
          <input type="hidden" name="git" value="<?php echo $git?>">
             <label for="mail" class="col-sm-2 control-label">Email</label>
             <div class="col-sm-10">
                <input type="email" class="form-control" id="mail" name="mail" placeholder="Email">
             </div>
          </div>
          <div id="grup-sifre" class="form-group">
             <label for="sifre" class="col-sm-2 control-label">Şifre</label>
             <div class="col-sm-10">
                <input type="password" class="form-control" id="sifre" name="sifre" placeholder="Parola">
             </div>
          </div>
          <div  id="grup-bnh" class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
                <div class="checkbox">
                  <label>
                     <input type="checkbox" name="hatirla" value="0"> Beni Hatırla
                  </label>
                </div>
             </div>
          </div>
          <div class="form-group">
             <div class="col-sm-12 text-center">
                <button type="submit" id="btn-submit" class="btn btn-info"> Giriş </button>
                <a href="<?php echo SITE_URL?>kayit/<?php echo $git_url?>" id="yeni-kayit" class="btn btn-success"> Yeni Kayıt </a>
                <span id="sifremi_unuttum" class="btn btn-danger">Şifremi Unuttum</span>
                <span id="sifre_hatirlat" class="btn btn-danger" style="display:none">Bağlantı Gönder</span>
             </div>
          </div>
          <div id="hatirlat_bilgi" class="form-group text-center" style="display:none">
            Şifre Yenileme Linki Mail adresinize gönderilir.<br><strong>Lütfen Gereksiz Posta(Junk mail) Klasörünü kontrol etmeyi unutmayınız</strong>
          </div>
        </form>
        </div>
        </div>
    </div>
    </div>
    </div>
    <script>
    $("#sifremi_unuttum").click( function() {
        $("#login-form").attr('id', 'hatirlat-form');
        $("#grup-bnh").hide();
        $("#grup-sifre").hide();
        $("#btn-submit").remove();
        $("#yeni-kayit").remove();
        $("#sifremi_unuttum").remove();
        $("#sifre_hatirlat").show();
        $("#hatirlat_bilgi").show();
    });
    $("#sifre_hatirlat").click( function() {
        var m = $("#mail").val();
        m = encodeURIComponent(m);
        fd = "sifre_hatirlat="+m;
        $.post('', fd).done(function( data ) {
            if(data != 'ok' ) {
                alert(data);
            } else {
                $("#sifre_hatirlat").remove();
                $("#grup-mail").remove();
                $("#hatirlat_bilgi").remove();
                $("#bilgi").html('<p class="text-center"><br>İşlem Tamam. <strong>Şifre yenileme linki mail adresinize gönderildi.</strong><br><strong>Lütfen Gereksiz Posta(Junk mail) Klasörünü kontrol etmeyi unutmayınız</strong><br></p>');
            }
        });
    });
    
    $("#login-form").submit( function() {
        $("#bilgi").html("");
        var mail = $("#mail").val();
        var sifre = $("#sifre").val();
        var sonuc = '';
        var fd = $("#login-form").serialize();
        $.post('', fd).done(function( data ) {
            if(data != '' ) {
                $("#bilgi").html(data);
            } else {
                //window.location.href = '<?php echo $git?>';
            }
        });
        return false;
    });
    </script>

    <?php
    define('UYE_GIRIS', true );
    if( isset( $_GET['loc'] ) ) {
        //echo 111;
        yonlendir( $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], true );
    }
    $title = 'Giriş';
    $site->title = SITE_ADI.' - Giriş';
    $git_url =(isset($_GET['git']) ) ? '?git='.$_GET['git'] : null;
    
    $git = $site->giris_yonlen();
    if( isset( $_POST['sifre_hatirlat'] ) ) {
        ob_clean();
        $bilgi = null;
        $mail = $_POST['sifre_hatirlat'];
        $mail = filter_var( $mail, FILTER_SANITIZE_EMAIL );
        if( filter_var( $mail, FILTER_VALIDATE_EMAIL ) === false )
            $bilgi = 'Email adresi Geçersiz';
        else {
            $sql = "SELECT uye_id,uye_ad, uye_soyad, uye_code FROM uyeler WHERE uye_mail='$mail'";
            $q = $db->query($sql);
            if($q->num_rows) {
                $al = $db->obj($q);
                $code = $al->uye_code;
                $mail_to = array();
                $mail_islem = 'sifre_hatirlat';
                $arr['to'] = $mail;
                $arr['baslik']     = 'İnternetreklamı - Şifre Hatırlat';
                $arr['mesaj']     = 'Sayın '.$al->uye_ad.' '.$al->uye_soyad;
                $arr['mesaj']     .= '<br>İnternetreklamı Firma Rehberi için Şifremi Unuttum bağlantısı kullanıldı.<br>';
                $arr['mesaj']     .= '<br>Şifenizi hatırlamıyorsanız aşağıdaki linke tıklayın. Herhangi bir işlem yapmadığınız taktirde eski şifreniz hala aktiftir.<br><br>';
                $arr['mesaj']     .= '<a href="'.$site_url.'sifre_guncelle/?sh='.$code.'">Şifre Yenilemek için Lütfen Tıklayın!</a>';
                $arr['mesaj']     .= '<br><br>Saygılarımızla... <br><br>internetreklami.net<br>';
                include INC_PATH.'mail.php';
            }
            else {
                $bilgi = 'Girdiğiniz Mail adresi Kayıtlarımızda bulunmuyor..';
            }
        }
        echo $bilgi;
        die();
    }
    if( isset( $_POST['mail'] ) ) {
        ob_clean();
        $arr = array();
        $bilgi = null;
    
        foreach( $_POST as $key => $v ) {
            $v = trim($v);
            $ex = 'uye_';
            if( $key == 'mail' ) {
                // Remove all illegal characters from email
                $v = filter_var( $v, FILTER_SANITIZE_EMAIL );
                if( filter_var( $v, FILTER_VALIDATE_EMAIL ) === false )
                    $bilgi = 'Email adresi Geçersiz<br>';
            }
            elseif( $key == 'sifre' ) {
                if( ! $v  ) {
                    $bilgi.= 'Şifre Boş Bırakılamaz.';
                }
            }
            ${$ex.$key} = $v;
        }
        if( $bilgi ) {
            $hata = $bilgi;
        }
        else {
            $uye_sifre = md5(sha1($uye_sifre));
            $sql = "SELECT uye_id,uye_aktif,uye_durum FROM uyeler WHERE uye_mail='$uye_mail' AND uye_sifre='$uye_sifre'";
            $q = $db->query( $sql );
            if( $q->num_rows == true ) {
                $r = $db->obj( $q );
                if( $r->uye_aktif < 1 )
                    $hata = 'Üyelik Aktif Edilmemiş. Lütfen mail adresinize gönderilen Aktivasyon İşlemini Yapınız. Gereksiz-Spam klasörünü kontrol etmeyi unutmayınız.';
                if( $r->uye_durum < 1 )
                    $hata = 'Üyeliğiniz Dondurulmuş<br> Lütfen Bizimle İrtibata Geçiniz';
                else {
                    $_SESSION['uye'] = $r->uye_id;
                    // cookie
                    if(isset($uye_hatirla)) {
                        $arr['id']        = $r->uye_id;
                        $arr['db_key']    = 'uye_id';
                        $arr['alanlar']['uye_cookie'] = md5(microtime());
                        setcookie("bnh", $arr['alanlar']['uye_cookie'], time()+720000000,'/', '.'.DOMAIN);
                        $arr['table']    = $table_uyeler;
                        $k = $db->guncelle($arr);
                    }
                    if($uye_git) {
                        $git = base64_decode($uye_git);
                        echo "<script>window.location.href = '$git'</script>";
                        die();
                    } else {
                        $git = SITE_URL.'/profil/';
                        echo "<script>window.location.href = '$git'</script>";
                        die();
                    }
                }
            } else {
                $hata = 'Geçersiz Kullanıcı Adı veya Şifre';
            }
            //echo $site->bilgi( 'İslem Tamam' );
        }
        echo hata($hata, 'text-center');
        die();
    }
    
    $inc_tema = 'giris.tmp.php';
    
    //include 'footer.php';
    
    ?>
  • 04-01-2024, 23:55:46
    #4
    TuncayTEKE adlı üyeden alıntı: mesajı görüntüle
    Ekran görüntüsü değil kodları paylaşmalısın. Aksi taktirde; kodlama dili nedir? Arka planda ne dönüyor? Nasıl anlayacağız?
    kodu attımda önceden düzgün çalışıyordu . editleme yapmadım bu dosyalarda başka yerden sıkıntı gibi . hangi dosya olabilir
  • 05-01-2024, 00:42:39
    #5
    Script genelinde girişleri Session üzerinden kontrol ediliyorsa bu sayfanın include edildiği sayfanın en başında session_start(); kullanılmalı var mı bi kontrol edin.

    Giriş bilgileri kontrol edildikten sonra; Satır 77 ve 87 arasında Session yalnızca uye değeriyle ID girilmiş. Ancak beni hatırla seçili geldiğinde artı olarak Cookie oluşturulmuş ve oluşturulan Cookie ve üye id değeri veri tabanda güncellenmiş.

                else {
                    $_SESSION['uye'] = $r->uye_id;
                    // cookie
                    if(isset($uye_hatirla)) {
                        $arr['id']        = $r->uye_id;
                        $arr['db_key']    = 'uye_id';
                        $arr['alanlar']['uye_cookie'] = md5(microtime());
                        setcookie("bnh", $arr['alanlar']['uye_cookie'], time()+720000000,'/', '.'.DOMAIN);
                        $arr['table']    = $table_uyeler;
                        $k = $db->guncelle($arr);
                    }
    Sitenin diğer sayfalarında giriş yapılıp yapılmadı yalnızca $_SESSION['uye'] olarak kontrol ediliyorsa giriş yapmalı. Ancak 85. satırda güncellenen $table_uyeler den herhangi bir bilgi de kontrol ediliyorsa ilgi alan güncellenmediği için giriş yapmaz.
  • 05-01-2024, 01:02:25
    #6
    TuncayTEKE adlı üyeden alıntı: mesajı görüntüle
    Script genelinde girişleri Session üzerinden kontrol ediliyorsa bu sayfanın include edildiği sayfanın en başında session_start(); kullanılmalı var mı bi kontrol edin.

    Giriş bilgileri kontrol edildikten sonra; Satır 77 ve 87 arasında Session yalnızca uye değeriyle ID girilmiş. Ancak beni hatırla seçili geldiğinde artı olarak Cookie oluşturulmuş ve oluşturulan Cookie ve üye id değeri veri tabanda güncellenmiş.

                else {
                    $_SESSION['uye'] = $r->uye_id;
                    // cookie
                    if(isset($uye_hatirla)) {
                        $arr['id']        = $r->uye_id;
                        $arr['db_key']    = 'uye_id';
                        $arr['alanlar']['uye_cookie'] = md5(microtime());
                        setcookie("bnh", $arr['alanlar']['uye_cookie'], time()+720000000,'/', '.'.DOMAIN);
                        $arr['table']    = $table_uyeler;
                        $k = $db->guncelle($arr);
                    }
    Sitenin diğer sayfalarında giriş yapılıp yapılmadı yalnızca $_SESSION['uye'] olarak kontrol ediliyorsa giriş yapmalı. Ancak 85. satırda güncellenen $table_uyeler den herhangi bir bilgi de kontrol ediliyorsa ilgi alan güncellenmediği için giriş yapmaz.
                     <input type="checkbox" checked / required name="hatirla" value="1"> Beni Hatırla
    kutucuğu zorunlu tıklama haline getirdim. baya uğraştım yapamadım. en mantıklısı bu geldi
  • 05-01-2024, 01:07:58
    #7
    Scriptin geneli kontrol etmeden ancak bu kadar oluyor. Genel anlamda sorun yok. Ama dediğim gibi session başlatıldı mı veya sadece session uye mi kontrol ediliyor. Bu kodlardan anlaşılmıyor.

    Cookie hep oluşacaksa 80 ve 87. satırları da bypass edebilirsiniz. Yani hatırla seçse de seçmese de cookie oluşturup devam eder

                   // if(isset($uye_hatirla)) {
                        $arr['id']        = $r->uye_id;
                        $arr['db_key']    = 'uye_id';
                        $arr['alanlar']['uye_cookie'] = md5(microtime());
                        setcookie("bnh", $arr['alanlar']['uye_cookie'], time()+720000000,'/', '.'.DOMAIN);
                        $arr['table']    = $table_uyeler;
                        $k = $db->guncelle($arr);
                   // }
  • 05-01-2024, 01:12:57
    #8
    TuncayTEKE adlı üyeden alıntı: mesajı görüntüle
    Scriptin geneli kontrol etmeden ancak bu kadar oluyor. Genel anlamda sorun yok. Ama dediğim gibi session başlatıldı mı veya sadece session uye mi kontrol ediliyor. Bu kodlardan anlaşılmıyor.

    Cookie hep oluşacaksa 80 ve 87. satırları da bypass edebilirsiniz. Yani hatırla seçse de seçmese de cookie oluşturup devam eder

                   // if(isset($uye_hatirla)) {
                        $arr['id']        = $r->uye_id;
                        $arr['db_key']    = 'uye_id';
                        $arr['alanlar']['uye_cookie'] = md5(microtime());
                        setcookie("bnh", $arr['alanlar']['uye_cookie'], time()+720000000,'/', '.'.DOMAIN);
                        $arr['table']    = $table_uyeler;
                        $k = $db->guncelle($arr);
                   // }
    Beni hatırla tamamen silinebilirde. fazla bilgim tecrübem yok hocam .cookie nedir nasıl bypass edilir bilmiyorum. o kısmı silince . beni hatırla tikli olsa bile giriş yapmıyor
  • 05-01-2024, 01:21:21
    #9
    Silmeyeceksin hocam. O kısmı silince yine cookie oluşturmaz. 80 ve 87 satırların başına // işareti koyacaksın.