v2.5.2
Giriş yap

Datatable Server Side Data Post Token Sorunu

buraksuluk
932 defa görüntülendi

Herkeze Merhabalar, kolay gelsin önceliklle

Jquery Datatable kütüphanesinin server side post ile verilerileri çekiyorum.
Fakat db bağlantısında token kullandığım için hata veriyor.

if ($_SERVER['REQUEST_METHOD'] == 'POST'){
	if (!isset($_POST['token']) || $_POST['token'] != $_SESSION['token'] ){
		die('Bir Hata Oluştu Tekrar Deneyin Lütfen!');
	}
}
$_SESSION['token'] = uniqid();


Server Side kullanmadan direk ajax ile çektiğim zaman hata almıyorum.
Database den satır çok olduğu için mecbur server-side kullanıyorum.
Aslında yeni bir db bağlantısı yaparak sorunumu çözüyorum.Ama açıkcası sebebini öğrenmem lazım :) veya nasıl bir yol izlemem lazım acaba

Tekrar kolay gelsin herkeze

Cevap yaz
Cevaplar (3)
tayfunerbilen
1571 gün önce

o zaman bu duruma özel bi get parametresi gönder, db bağlantısında bu get varsa token kontrolünü es geç :)

buraksuluk
1572 gün önce

ona göre listeleme yapıyorum.Burda bir sorun yok.

Fakat ilk bahsettiğim konudaki hata devam ediyor.Ne zaman db bağlantısından aşağıdaki kodu kaldırıyorum düzeliyor.

if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if (!isset($_POST['token']) || $_POST['token'] != $_SESSION['token'] ){
	die('Bir Hata Oluştu Tekrar Deneyin Lütfen!');
}

}
$_SESSION['token'] = uniqid();

tayfunerbilen
1572 gün önce

o zaman datatables server side örneğinde token göndermeyi dene;

$(document).ready(function() {
    $('#example').DataTable( {
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": "scripts/server_processing.php",
            "data": function ( d ) {
                d.token = 'token buraya';
            }
        }
    } );
} );