Heim  >  Artikel  >  Backend-Entwicklung  >  Wie aktiviere ich CORS für Slim PHP Framework mithilfe von PHP-Headern?

Wie aktiviere ich CORS für Slim PHP Framework mithilfe von PHP-Headern?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 04:40:02869Durchsuche

How to Enable CORS for Slim PHP Framework Using PHP Headers?

Aktivieren von CORS für Slim PHP Framework in .htaccess

Um Cross-Origin Resource Sharing (CORS) für einen RESTful-Dienst zu aktivieren, der mit erstellt wurde Da es sich um ein schlankes PHP-Framework handelt, werden häufig Änderungen an der .htaccess-Datei verwendet. Wenn jedoch nach der empfohlenen Änderung in .htaccess weiterhin Probleme auftreten, kann ein alternativer Ansatz verwendet werden.

PHP-Header verwenden

Anstatt CORS-Header in .htaccess festzulegen Dies kann direkt im PHP-Code erfolgen, insbesondere in der Datei index.php. Durch Hinzufügen des folgenden Codes am Anfang der Datei werden CORS-Header für jede von der Anwendung empfangene HTTP-Anfrage festgelegt:

<code class="php">// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
    // should do a check here to match $_SERVER['HTTP_ORIGIN'] to a
    // whitelist of safe domains
    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, PUT, DELETE, OPTIONS");         

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

}</code>

Behandlung von OPTIONS-Anfragen

Wenn Sie das SLIM-PHP-Framework verwenden, müssen Sie möglicherweise auch OPTIONS-Anfragen verarbeiten. Fügen Sie dem $app-Objekt die folgende Route hinzu, um sicherzustellen, dass OPTIONS-Anfragen eine HTTP 200-Antwort erhalten:

<code class="php">// return HTTP 200 for HTTP OPTIONS requests
$app->map('/:x+', function($x) {
    http_response_code(200);
})->via('OPTIONS');</code>

Diese PHP-Änderungen bieten eine Alternative zum Festlegen von CORS-Headern in .htaccess. Durch Hinzufügen beider Codeblöcke zur Datei index.php können Sie CORS für Ihren SLIM PHP RESTful-Dienst aktivieren.

Das obige ist der detaillierte Inhalt vonWie aktiviere ich CORS für Slim PHP Framework mithilfe von PHP-Headern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn