Estoy en un script PHP y quiero verificar si la solicitud es una solicitud de Ajax. (Básicamente, a fin de no permitir el acceso directo al script, aparte de Ajax llamada que es ...)Verificar la solicitud de Ajax en Code Igniter
Por lo tanto, estoy definiendo IS_AJAX
en alguna parte del principal index.php
archivo:
define('IS_AJAX',
isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
Y a continuación, comprobar que en la parte superior de mi guión:
if (!IS_AJAX) exit('No direct script access allowed');
Ya que soy nuevo en CodeIgniter, no estoy muy seguro ...
- ¿Hay alguna funcionalidad incorporada?
- ¿Hay una forma más ... elegante de hacerlo?
¡Estupendo! Sabía que me podría estar perdiendo algo ... ¡Muchas gracias, amigo! –
is_ajax_request() no es una medida de seguridad. Hay una respuesta similar en la que se devuelve 404, lo que habría evitado dar una impresión engañosa. (HTTP/1.1 "Este código de estado se usa comúnmente cuando el servidor no desea revelar exactamente por qué se rechazó la solicitud o cuando no se aplica ninguna otra respuesta") http://stackoverflow.com/questions/6555652/controller- methods-that-are-only-called-by-ajax-make-private/8072539 # 8072539 – sourcejedi
Normalmente utilizo el método de carga para cargar archivos, ¿cómo evito que esos archivos se carguen directamente? –