Created
August 14, 2013 22:10
-
-
Save wturyn/6236173 to your computer and use it in GitHub Desktop.
PHP enabling cors
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* An example CORS-compliant method. It will allow any GET, POST, or OPTIONS requests from any | |
* origin. | |
* | |
* In a production environment, you probably want to be more restrictive, but this gives you | |
* the general idea of what is involved. For the nitty-gritty low-down, read: | |
* | |
* - https://developer.mozilla.org/en/HTTP_access_control | |
* - http://www.w3.org/TR/cors/ | |
* | |
*/ | |
function cors() { | |
// Allow from any origin | |
if (isset($_SERVER['HTTP_ORIGIN'])) { | |
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); | |
header('Access-Control-Allow-Credentials: true'); | |
header('Access-Control-Max-Age: 86400'); // cache for 1 day | |
} | |
// Access-Control headers are received during OPTIONS requests | |
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { | |
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) | |
header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); | |
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) | |
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); | |
exit(0); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment