Verifying the Existence of $_SERVER['HTTP_X_REQUESTED_WITH'] in PHP
Despite widely circulated guidance online, the existence of $_SERVER['HTTP_X_REQUESTED_WITH'] in PHP has been questioned due to its absence in the official documentation. Let's explore this discrepancy and determine its validity.
Understanding $_SERVER Variables
$_SERVER is an array of information provided by the web server to the PHP script. Contrary to popular belief, these variables are not directly part of PHP but are instead prepared and passed by the server.
Presence of $_SERVER['HTTP_X_REQUESTED_WITH']
The X-Requested-With header is typically sent by Ajax functions in various frameworks. However, it is important to note that not all frameworks consistently include this header. Additionally, some browsers may omit it.
Reliability for AJAX Detection
While the presence of $_SERVER['HTTP_X_REQUESTED_WITH'] often indicates an Ajax request, it is not a 100% reliable method. This is because some non-Ajax requests may also include this header, and other frameworks may use alternative methods to flag Ajax requests.
Alternative Approach for AJAX Detection
To ensure accurate identification of Ajax requests, a more reliable approach is to send a predefined flag (such as a GET variable) along with the request. The receiving page can then check for the presence of this flag to determine if the request is indeed from an Ajax source.
The above is the detailed content of Is $_SERVER[\'HTTP_X_REQUESTED_WITH\'] a Reliable Method for Detecting AJAX Requests in PHP?. For more information, please follow other related articles on the PHP Chinese website!