我有一個主頁做了一些驗證處理,然後在使用頭重定向完成重定向時。所有工作都很好,直到我最近更新了其中一個包含變量的變量。見下文。包括文件發送標頭,防止重定向
<?php
session_start();
include "globalvariables.php";
include "../../includes/databaseconnections/$schoolName/database_connection.php";
我沒有問題,直到我將$ schoolName添加到字符串。我需要這爲我們的自動複製系統(允許用戶使用不同的schoolName針對不同客戶複製的頁面和數據庫)
這裏是所包含的文件。很簡單。
<?php
$schoolName = "fakeschoolname";
?>
我不理解標題是如何被髮送的,除非$ schoolName實際上是輸出不可見的非服務器端數據。有沒有人有任何建議或想法如何補救?還是有更好的方法來動態複製和編輯頁面?
你真的不想這樣做,擺在首位。除非你仔細檢查'$ schoolName'變量,然後再使用它來包含一個文件。這樣做會讓你容易受到*文件包含攻擊*的傷害。如果用戶修改變量,他們可以基本上強制你的服務器包含它不應該包含的文件。就像也許PHP文件上傳到其他地方的服務器。 – icecub
那麼,有什麼更好的方式讓我在飛行中複製網站?它應該只是一個手動過程? –
我正要編輯你的問題來修正代碼塊中的縮進,但如果這是它在實際代碼中的方式,那可能是問題所在。 '<?php'之前是否有空格? –