• 10-03-2014, 17:12:14
    #1
    Merhaba arkadaşlar.Ajax ile login oluyorum json ile true,false sonuç dönderiyorum false dönerse hata divine bir sonuç basıyorum.
    Ama true dönerse window.location nesnesi ile yonetim.php e yönlendiriyorum.Ama yonetim.php'e direk erişimi engellemek için session veya cookie kullanmam lazım.Bu olayın mantığını anlatabilecek bir arkadaşım var mı biz php yazarken jquery & ajax yoktu
  • 10-03-2014, 17:18:41
    #2
    Üyeliği durduruldu
    yönetim.php de sayfanın en başına bunu eklersen direk erişimi engelleyebilirsin.

    $referer = $_SERVER['HTTP_REFERER'];

    if ($referer == "")  
    {  
    header("Location:index.php");
    }
  • 10-03-2014, 17:23:49
    #3
    Quismo adlı üyeden alıntı: mesajı görüntüle
    yönetim.php de sayfanın en başına bunu eklersen direk erişimi engelleyebilirsin.

    $referer = $_SERVER['HTTP_REFERER'];

    if ($referer == "")  
    {  
    header("Location:index.php");
    }
    peki hocam diyelim bununla istediğim direkt erişimi engelledim peki cookie kullanımım nasıl olacak acaba ben oturumum belli bir süre açık olsun istiyorum.sanki bu çözüm pek sağlıklı gelmedi curl ile referer yolladığımı düşünürsem bypass edebilirim panelimi?
  • 10-03-2014, 19:28:06
    #4
    Sorunumu js taraflı cookie gönderip php ile yakalayarak çözdüm.
    index.phpde;

    login başarılı olduğu ajax kısmında bu cookieyi tayin ettim.
    var now = new Date();
    var time = now.getTime();
    var expireTime = time + 1000*36000;
    now.setTime(expireTime);
    document.cookie = 'name=TestCookie;cookie=ok;expires='+now.toGMTString()+';path=/';
    window.location = "yonetim.php";
    index.php en tepedede şunu yaptım.
    <?php
    ob_start();
    header('Content-Type: text/html; charset=utf-8');
    if(!empty($_COOKIE['name'])){
    	Header("Location: yonetim.php");
    }
    ?>
    bu sayede cookie dolu ise direk panele yönlendirdim.

    admin sayfasındada şu denetimi yaptım;
    <?php
    include "../core/mysql.php";
    
    if(empty($_COOKIE['name'])){
    	die("Bu Sayfaya giriş yetkiniz yoktur");
    }
    
    echo "admin sayfası";
    ?>
    Yöntemim bu şekilde arkadaşlar güvenilir bir yöntem mi sizce?
  • 10-03-2014, 21:02:29
    #5
    Ne yazıkki çerezler de curl ile bypass edilebilir.
  • 10-03-2014, 22:08:30
    #6
    soulmy adlı üyeden alıntı: mesajı görüntüle
    Ne yazıkki çerezler de curl ile bypass edilebilir.
    sessionu nasıl kullanabilirim peki hocam yardımlarınızı bekliyorum
  • 10-03-2014, 23:27:00
    #7
    "Ajax ile login oluyorum json ile true,false sonuç dönderiyorum " dediğin noktada true değerini verdiğin yerde session değerini neden vermiyorsun?

    Sonuç olarak orda veritabanı sorguları oluşturuyorsun, doğrumu yanlışmı bakıyorsun geriye ne kalıyorki doğru ise orda bitir bu işi. sonrasında json verinle javascript noktasında yönlendirmeni gene yap.
  • 11-03-2014, 00:21:09
    #8
    MaviTm adlı üyeden alıntı: mesajı görüntüle
    "Ajax ile login oluyorum json ile true,false sonuç dönderiyorum " dediğin noktada true değerini verdiğin yerde session değerini neden vermiyorsun?

    Sonuç olarak orda veritabanı sorguları oluşturuyorsun, doğrumu yanlışmı bakıyorsun geriye ne kalıyorki doğru ise orda bitir bu işi. sonrasında json verinle javascript noktasında yönlendirmeni gene yap.
    if(!empty($_COOKIE['name'])){
    	$_SESSION["username"] = $_COOKIE['name'];
    }
    
    if(empty($_SESSION["username"])){
    	die("Bu sayfaya giriş yetkiniz yoktur");
    }
    cookieyi kullanıcıadıyla yollayıp sessiona alıyorum denetimi onunla yapıyorum cookieye güven olmaz diye
  • 11-03-2014, 20:12:38
    #9
    AhmtBrK adlı üyeden alıntı: mesajı görüntüle
    if(!empty($_COOKIE['name'])){
    	$_SESSION["username"] = $_COOKIE['name'];
    }
    
    if(empty($_SESSION["username"])){
    	die("Bu sayfaya giriş yetkiniz yoktur");
    }
    cookieyi kullanıcıadıyla yollayıp sessiona alıyorum denetimi onunla yapıyorum cookieye güven olmaz diye
    Üzücü bir durum içerisindesin, madem öyle yapıyorsun kompile cookie kullanmandan ne farkı kalıyor?

    Sonuç olarak bu işin başlangıcı cookie.


    Benim ilk mesajımda anlatmak istediğimi daha da ayrıntı anlatmaya çalışayım.

    ajax isteği gönderdiğin php dosyanın en başında session_start(); ekle ve db de yaptığın işlemlerde kullanıcı doğru bilgileri girdiğinde json datanı hazırladığın bir yere $_SESSION['username'] = $db->name; ekle sonra json datanı true olarak echo de. Sonuç olarak $_SESSION['username'] değişkeni yonetim.php çağrılmadan oluşturulduğu için geleni kabul edecektir. hal böyleyken javascript cookie vs... uğraşmanın ne anlamı var.