保持一個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文件放在你的文章末尾的這個文件夾中,並在那裏進行會話設置? –