作爲此php登錄和重定向軟件的一部分,我有一段代碼需要添加到要保護的每個頁面的開頭。 如果用戶擁有有效的用戶登錄信息,它可以讓用戶完美地工作,但是如果他們轉到另一個「受保護」頁面並嘗試重新訪問原始頁面(或者只是將其地址複製並粘貼到新標籤頁中),它會轉到被拒絕的訪問屏幕。用戶可以登錄到安全頁面,但不會重訪同一頁面
發生此錯誤是因爲會話緩存標題有問題,還是會出現一些更深層的問題?
目前,它看起來像這樣:
<?php
session_start();
session_cache_limiter();
header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
require('config.php');
require('functions.php');
//this is group name or username of the group or person that you wish to allow access to
// - please be advise that the Administrators Groups has access to all pages.
if (allow_access(Users) != "yes")
{
include ('/home/folder/public_html/members/no_access.php');
exit;
}
?>
我試着從別人的問題等改變的信息,但是它並沒有改變的問題。我也看了一下任何相關的鏈接,並確保他們不破等
的允許訪問的功能似乎是這樣的:
function allow_access($group)
{
if ($_SESSION[group1] == "$group" || $_SESSION[group2] == "$group" || $_SESSION[group3] == "$group" ||
$_SESSION[group1] == "Administrators" || $_SESSION[group2] == "Administrators" || $_SESSION[group3] == "Administrators" ||
$_SESSION[user_name] == "$group")
{
$allowed = "yes";
}else{
$allowed = "no";
}
return $allowed;
}
理智提示:使用布爾值「true」和「false」,而不是「yes」。 – deceze
好的,謝謝你的提示,我很感激。 – user1470324
您是否禁用了PHP中的所有警告/錯誤?我相信session_start()遇到錯誤,因爲標題已被髮送 – Najzero