Maison >développement back-end >tutoriel php >Comment corriger l'erreur « Contenu mixte bloqué » pour les appels AJAX sur les sites HTTPS ?

Comment corriger l'erreur « Contenu mixte bloqué » pour les appels AJAX sur les sites HTTPS ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-27 19:23:11321parcourir

How to Fix the

Résolution de l'erreur « Contenu mixte bloqué » pour les opérations HTTP AJAX dans les pages HTTPS

Lorsque vous essayez d'effectuer une opération HTTP AJAX à partir d'une page HTTPS, vous pouvez rencontrer le message « Erreur "Contenu mixte bloqué". Cela se produit lorsque le navigateur détecte une requête HTTP non sécurisée effectuée à partir d'une page HTTPS sécurisée.

Pour résoudre ce problème, vous pouvez utiliser les solutions suivantes :

1. Utilisez une méthode HTTP appropriée

Si l'API cible prend en charge HTTPS, vous devez mettre à jour votre requête AJAX pour utiliser le protocole HTTPS :

url: "https://XX.XXX.XX.XX/vicidial/non_agent_api.php",

2. Utiliser une balise méta de politique de sécurité du contenu

Si la modification du protocole API n'est pas possible, vous pouvez ajouter la balise méta suivante à la page HTML pour autoriser le contenu mixte :

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

Cela demandera au navigateur de mettre automatiquement à niveau les requêtes HTTP non sécurisées vers HTTPS, résolvant ainsi le problème de contenu mixte.

3. Utiliser un proxy côté serveur

Si les solutions précédentes ne sont pas viables, vous pouvez créer un script proxy côté serveur qui reçoit la requête HTTP AJAX et la transmet à l'API cible à l'aide de HTTPS :

<?php
// Read and parse incoming data
$data = $_GET;

// Send data to API via HTTPS
$result = file_get_contents("https://XX.XXX.XX.XX/vicidial/non_agent_api.php?queries=" . http_build_query($data));

// Redirect user to thank-you page
header("Location: https://www.example.com/thank-you");
?>

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn