index.php dosyasinda /backend/script.php dosyasina bir XHR yapildigini varsayalim. /backend/script.php dosyasinin en ba$inda kullanicinin session acip acmadiginin kontrolunun yapilmasi gerekli.Yani takriben soyle bir kod olacaktir:
if (!isset($_SESSION["logged_in"]) redirect_to_error_page();
echo do_some_hede_and_output_json();
?>
bunun gibi bir suru script olunca, genelde arada kaynar bu session kontrolu, bunu engellemek icin ben dynamic class loading kullanarak dispatcher yonteminden faydalaniyorum, oda $oyle bi$i:
index.php'nin icinden /backend/dispatcher.php dosyasina XHR yapiliyor ve parametre olarak yuklenecek class isimi ve cagiracak metod isimi veriliyor. Yani XHR'in bagirsaklarina inersek soyle bir manzara ortaya cikacak:http://mydomain/backend/dispatcher.php?object=someobject&method=somemethoddispatcher.php nin yaptigida cok basit bir sekilde soyle olacaktir:
if (!isset($_SESSION["logged_in"]) redirect_to_error_page();
require_once($_GET["object"]."class.php");
$a = new $_GET["object"];
$a->$_GET["method"];
?>
vede asil i$lemleri yapan
someobject.class.php dosyasi var:
class someobject {
function somemethod()
{
echo do_some_hede_and_output_json();
}
}
?>
Bu class dosyalarinin direkt URL ile acmaya cali$an biri direkt bos ekran gorecektir, eger cok paranoyaksaniz
webden ula$ima kapali bir yerlere de ta$iyabilirsiniz. Boylece hem scriptlerinizi daha derli toplu tutabilirsiniz,
hemde session control i$ini her seferinde hatirlamak gibi bi derdiniz kalmayacaktir.
Hiç yorum yok:
Yorum Gönder