ゴール:
アプリケーション全体を構成するPHPアプリケーションとColdfusionアプリケーション間のセッション状態を維持します。
現在の方法:
Coldfusionアプリケーションにログインすると(ログインする唯一の方法、つまりPHPアプリケーション経由でログインできない)、次のJSスニペットを使用して、PHPセッションCookieを設定するリモートPHPファイルを呼び出します(Coldfusion経由では設定できません)。 、およびその後のColdfusionページへのアクセスで、PHPセッションを更新します。
<script type="text/javascript">
// Create an image.
var imgPing = new Image();
// Set image src to App A ping url.
imgPing.src = "http://remotePHPApplicationURL/remoteFile.php";
</script>
このスニペットは、並列セッションを維持するためにログインすると、各Coldfusionページに読み込まれます。
このメソッドは、非SSL Coldfusionページを介して呼び出された場合に設計どおりに機能しますが、アプリケーションを構成するSSLColdfusionページがいくつかあります。SSLページがこのスニペットを呼び出すと、Chrome Inspector内で、「安全でないコンテンツ」の警告(SSL接続が切断されます)と「匿名関数」エラーの両方が発生します。
CFHTTPでこのPHPファイルを「GET」しようとしましたが、PHPCookieが設計どおりに設定されていません。img.srcを使用することで、CFHTTPを使用する場合と比較してPHPファイルを実行する方法について私が理解していないことがあります。
質問:
非SSLの状況でのみ機能するように見えるimg.srcを使用するよりも、PHPファイルを呼び出す/実行する/pingする別のより良い方法はありますか?
PHPファイルの例を次に示します。
<?php
error_reporting(E_ALL & ~E_NOTICE);
define('THIS_SCRIPT', 'index');
define('CSRF_PROTECTION', true);
$globaltemplates = array();
require_once('./global.php');
$phpapp->session->save();
setcookie('userid', 'uid');
setcookie('password', 'pass');
header("Content-Type: image/png");
?>