وقتی در پروژه های خود از AJAX استفاده میکنیم، قطعا با توجه به ساختار آن آدرسی را به مرورگر پاس می دهیم و درخواست AJAX را انجام میدهیم.
$.ajax({ type : 'POST', url : 'editform.php', data : { data }, success : function (response) { // code here } });
همانطور که می بینید مطابق دستور ساده فوق ما با استفاده از AJAX یکسری داده به آدرس خاصی میفرستیم، اگر کاربر به صورت دستی این آدرس را باز کند ، چه اتفاقی می افتد ؟! برای پیشگیری از این مورد من تابعی رو تعریف میکنم که درخواست آجاکس رو اعتبارسنجی میکنه که اگر کاربر به صورت دستی آدرس را در مرورگر نوشت پیام خطایی به کاربرنمایش دهد.
function isValidAjaxRequest() { if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { return true; } return false; }
هنگام دریافت فرم و یا داده این تابع را فراخوانی میکنم و سپس اقدامات لازم را انجام میدهم تا پاسخ درخواست آجاکس ارسال شود.
if( isValidAjaxRequest() && isset( $_POST['body'] ) && isset( $_POST['operand'] ) ) { // code here }
در صورت تمایل به مطالعه بیشتر در مورد AJAX می توانید لینک های زیر را بررسی و مطالعه نمایید.