Dans le partage de ressources cross-origin (CORS), une page Web peut demander des ressources à une autre origine, impliquant généralement différents domaines, ports, ou des protocoles. Cependant, par défaut, les navigateurs limitent ces requêtes pour des raisons de sécurité.
Dans le scénario donné, l'utilisateur tente une requête POST de www.siteone.com à www.sitetwo.com à l'aide de CORS. L'erreur rencontrée suggère qu'il y a une inadéquation entre les en-têtes de requête et de réponse.
Pour configurer correctement CORS, il est crucial de le gérer avec soin. La fonction PHP suivante offre une approche plus complète :
<code class="php">// 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); } echo "You have CORS!";</code>
En remplaçant le code d'origine par cette fonction améliorée, l'utilisateur a réussi à résoudre le problème CORS. Cette approche garantit que tous les en-têtes nécessaires sont définis de manière appropriée, permettant aux requêtes d'origine croisée de fonctionner comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!