2010-03-04 61 views
4

如何將ia)包含在web根目錄之外的php腳本(它真的只是一個簡單的../file.php),b)將表單數據發佈到PHP腳本之外web根目錄。我被引導認爲這是php安全的一塊石碑。在網站根目錄以外放置php腳本

回答

7

A)如果你的Web根目錄是/ WWW/MYAPP /的public_html那麼你的public_html/index.php文件可以通過做

require '../includefolder/script.php" 

分別包括Web根目錄外的腳本),你不能直接發佈數據到網站根目錄外的腳本。把他們搬到那裏是爲了不讓他們直接接觸到他們;所有東西都必須從您的Web根目錄中顯示的可訪問腳本傳遞給它們。

3
  1. 就是這樣。相對路徑。
  2. 如果這與你剛纔的問題(你是含有該文件中),然後像超全局變量是$_POST中包含的文件可以無需任何額外的努力
10

包括一個腳本這是Web根目錄以外的很簡單:你會做相同的方式,你做了一個腳本,在根目錄下的:

include '../myscript.php'; 
include '../library/myscript.php'; 
include dirname(__FILE__) . '/../library/myscript.php'; 

你喜歡;-)
的一個儘管如此,我會爲最後一個人選。


發佈到一個腳本這是Web根目錄之外是不可能的:該腳本不能被Apache (阿帕奇僅提供什麼是Web根目錄內)送達。

因此,該腳本不能通過HTTP訪問;這意味着它不能從瀏覽器訪問/瀏覽器訪問。

但是,如果您發佈到位於webroot內部的PHP腳本,並且該腳本包含另一個位於webroot之外的腳本,那麼第二個文件中的代碼將作爲第一個腳本執行。這意味着它可以訪問$_POST數據 - 表單中鍵入的數據。

相關問題