保持一个PHP应用程序和ColdFusion应用程序一起,包括整个应用程序之间的会话状态。
电流法:
在登录到我们的ColdFusion应用程序(登录的唯一途径,即无法通过PHP应用程序登录),我们使用下面的JS代码片段调用远程PHP文件,该文件设置PHP会话cookie(无法通过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页面调用该方法,则该方法按设计工作,但是,有一些构成应用程序的SSL Coldfusion页面。当SSL页面调用此片段时,我们在Chrome Inspector中都会收到“不安全内容”警告(这会打断我们的SSL连接)以及“匿名函数”错误。
我们已经尝试过使用CFHTTP来“获取”这个PHP文件,但它没有按照设计设置PHP cookie。我不明白如何通过使用img.src来执行PHP文件而不是使用CFHTTP。
问题:
有另一种,调用/执行/查验PHP文件与uring这似乎只在非SSL的情况下工作img.src更好的方法?
这里是什么样的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");
?>
如果您在SSL页面上调用此项,会发生什么情况:'imgPing.src =“https://remotePHPApplicationURL/remoteFile.php”;' –
https://remotePHPApplicationURL/remoteFile.php没有SSL证书,所以我们得到一个错误。 –
服务器有httpsdocs或private_html文件夹吗?如果你把如上所述的php文件放在你的文章末尾的这个文件夹中,并在那里进行会话设置? –