Fragmento muy breve: ¿Cómo identificar las llamadas Ajax en PHP

Cuando se construye una puerta de enlace Ajax, es decir, un archivo que es invocado por el objeto XmlHTTPRequest de JavaScript, sin darse cuenta, puede crear un túnel de intrusiones no deseadas. Siendo en realidad un archivo como los otros, que se encuentra en nuestro servidor es accesible desde la barra de direcciones de su navegador. Afortunadamente existe una forma sencilla de identificar el tipo de solicitud:

1
2
3
4
5
@ isset ( $_SERVER [ 'HTTP_X_REQUESTED_WITH' ] ) ) { if (@ isset _SERVER ($ ['HTTP_X_REQUESTED_WITH'])) {
/ / Llamado por el HTTPRequest (Ajax)
{ Else {}
/ / No hacer nada o muestra una alerta
}

De esta manera, evitar que las llamadas desde la barra de direcciones de su navegador. El chicciola (@, a) no es estrictamente necesario, sin embargo, si las cabeceras ya han sido enviados a la página, usted puede obtener una advertencia desagradable.

4 comentarios: "fragmento muy breve: ¿Cómo identificar las llamadas Ajax en PHP"

  1. 08 de abril 2010 Michael:

    Para mí, este script no funciona ... las llamadas ajax permanecer como "obsoleto" ...

  2. 08 de abril 2010 Giovambattista Fazioli :

    @ Michael: Probablemente depende de la configuración del servidor, en particular los de PHP. ] viene impostata automaticamente dall'ambiente server quando riceve una richiesta dall'oggetto XmlHTTPRequest . La variable $_SERVER [ 'HTTP_X_REQUESTED_WITH' ] se ajusta automáticamente desde el servidor cuando recibe una solicitud del objeto XmlHTTPRequest . Intente comprobar la configuración, en parte porque a mí me funciona ... :)

  3. 08 de abril 2010 Michael:

    @ Giovambattista Fazioli: Disculpe mi ignorancia, pero no sé cómo comprobar esta configuración : (

  4. 08 de abril 2010 Giovambattista Fazioli :

    @ Michael: Si usted no puede pedir a su administrador del servidor, hacer buena la secuencia de comandos que ha utilizado, tal vez el problema está en el código y no el servidor. ] o, se possiedi FireFox con FireBug, alla verifica dei dati inviati e ricevuti sulla rete. Pruebe con un simple control en el $_SERVER [ 'HTTP_X_REQUESTED_WITH' ] o, si usted tiene Firefox con Firebug, para comprobar los datos enviados y recibidos en la red.

Deja un comentario

XHTML PERMISO TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL