Sehr kurze Auszug: wie die Ajax-Aufrufe in PHP zu identifizieren

Beim Aufbau einer Ajax-Gateway, dh eine Datei, die durch das Objekt aufgerufen wird XmlHTTPRequest JavaScript können Sie versehentlich einen Tunnel, um unerwünschtes Eindringen. Da in der Tat eine Datei wie die anderen, auf unserem Server befindet erreichbar aus der Adressleiste Ihres Browsers. Glücklicherweise gibt es einen einfachen Weg, um die Art der Anfrage zu identifizieren:

1
2
3
4
5
@ isset ( $_SERVER [ 'HTTP_X_REQUESTED_WITH' ] ) ) { if (@ isset ($ _SERVER ['HTTP_X_REQUESTED_WITH'])) {
/ / Durch die HTTPRequest (Ajax) Called
{ Else {}
/ / Nichts tun oder zeigt eine Warnmeldung
}

Auf diese Weise verhindern wir, dass Anrufe aus der Adressleiste Ihres Browsers. Die chicciola (@ at) ist nicht unbedingt notwendig, aber wenn der Header bereits an die Seite gesendet wurde, könnten Sie ein unangenehmes Warnung.

4 Kommentare: "Sehr kurze Auszug: wie die Ajax-Aufrufe in PHP zu identifizieren"

  1. 8. April 2010 Michael:

    Für mich ist dieses Skript nicht funktionieren ... die Ajax-Aufrufe bleiben als "abgestanden" ...

  2. 8. April 2010 Giovambattista Fazioli :

    @ Michael: Wahrscheinlich hängt von Ihrem Server-Einstellungen, insbesondere die von PHP. ] viene impostata automaticamente dall'ambiente server quando riceve una richiesta dall'oggetto XmlHTTPRequest . Die Variable $_SERVER [ 'HTTP_X_REQUESTED_WITH' ] wird automatisch vom Server gesetzt, wenn es eine Anfrage aus dem Objekt erhält XmlHTTPRequest . Überprüfen Sie in Ihren Einstellungen, teils, weil es für mich funktioniert ... :)

  3. 8. April 2010 Michael:

    @ Giovambattista Fazioli: Entschuldigen Sie meine Unwissenheit, aber ich weiß nicht, wie Sie diese Einstellung überprüfen : (

  4. 8. April 2010 Giovambattista Fazioli :

    @ Michael: Wenn Sie nicht fragen Sie Ihren Server-Administrator, der Beseitigung von Skript, das Sie verwendet vielleicht ist das Problem im Code und nicht den Server. ] o, se possiedi FireFox con FireBug, alla verifica dei dati inviati e ricevuti sulla rete. Versuchen Sie, eine einfache Kontrolle über die $_SERVER [ 'HTTP_X_REQUESTED_WITH' ] oder, wenn Sie Firefox mit Firebug, um die gesendeten und empfangenen Daten auf dem Netzwerk zu überprüfen.

Hinterlasse einen Kommentar

XHTML TAG PERMIT: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <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