OBJECTIF :
Maintenir l'état de session entre une application PHP et une application Coldfusion qui, ensemble, constituent l'application entière.
MÉTHODE ACTUELLE :
Après s'être connecté à notre application Coldfusion (le seul moyen de se connecter, c'est-à-dire, impossible de se connecter via l'application PHP), nous utilisons le extrait de code JS suivant pour appeler un fichier PHP distant qui définit les cookies de session PHP (qui ne peuvent pas être définis via Coldfusion), et lors de visites ultérieures de pages Coldfusion, rafraîchit la session PHP :
// Créer une image.
var imgPing = new Image();
// Définir l'URL de l'image sur l'URL de ping de l'application PHP distante.
imgPing.src = "http://remotePHPApplicationURL/remoteFile.php";
Cet extrait de code est chargé sur chaque page Coldfusion lors de la connexion pour maintenir les sessions parallèles.
Cette méthode fonctionne comme prévu si elle est appelée via une page Coldfusion non-SSL, cependant, il existe quelques pages Coldfusion SSL qui constituent l'application. Lorsqu'une page SSL appelle cet extrait de code, nous recevons à la fois un avertissement de "contenu non sécurisé" (qui interrompt notre connexion SSL), ainsi qu'une erreur de "fonction anonyme", tous deux dans l'inspecteur Chrome.
Nous avons essayé CFHTTP pour "GET" ce fichier PHP, mais il ne définit pas les cookies PHP comme prévu. Il y a quelque chose que je ne comprends pas concernant la manière dont, en utilisant img.src, le fichier PHP est exécuté par rapport à l'utilisation de CFHTTP.
QUESTION :
Existe-t-il une autre meilleure méthode pour appeler/exécuter/pinger le fichier PHP au lieu d'utiliser img.src qui semble fonctionner uniquement dans des situations non-SSL ?
Voici un exemple de ce à quoi ressemble le fichier PHP :
session->save();
setcookie('userid', 'uid');
setcookie('password', 'pass');
header("Content-Type: image/png");
?>