0
我有一個在外國網頁上注入按鈕的書籤。點擊該按鈕時,會出現一個包含我網站頁面的彈出窗口。會話變量在彈出窗口中丟失?
我使用所謂的Laravel一個PHP框架,經測試使用Chrome瀏覽器
問題:當我檢查用戶是否是從我的網站頁面發起這是彈出窗口中登錄,它總是返回該用戶沒有登錄。
if(Auth::guest()) {
echo "Not logged in";
} else {
echo "Logged in";
}
然而,當我直接訪問同一頁面(未在其他網站開了一個彈出窗口),我可以看到我在我登錄!
這裏有什麼問題,以及如何解決這個問題?
彈出JS代碼
var popupOptions = 'status=no,resizable=yes,scrollbars=yes,personalbar=no,directories=no,location=no,toolbar=no,menubar=no,width=632,height=295,left=0,top=0';
window.open(' http://www.domain.com/controllername/add?url='+url, '_blank', popupOptions);
兩件事,你沒有啓動在彈出頁面的會話,或設置的cookie會話設置了一個不同的cookie路徑說/ somefolder /該會話將無法在該文件夾之外訪問。檢查您的Cookie以查看設置的內容。 –
當我進入彈出窗口時,我看到2個同名的「laravel_session」cookie,對於'www.domain.com'和'domain.com'。當我在彈出窗口之外查看我的網站時,我只有cookie設置爲'domain.com' ... – Nyxynyx
您可以在頁面上總是拋出一個'print_r($ _ SESSION)',看看*獲得了什麼*通過。 (這可能與「引薦者」字段有關) –