2015-04-21 196 views
-1

我有幾個文件,如: main.php了header.htmlpage1.php中使page2.php ..PHP的限制直接URL訪問

頭。 html包含在main.php有鏈接到page1.phppage2.php。我想限制訪問page1.phppage2.php僅當用戶使用通過鏈接提供的鏈接main.php時才能訪問。

我遇到了一個DEFINE會話變量和使用的解決方案,但在這種情況下,它似乎只適用於包含文件,而不是通過主頁面上的鏈接調用的PHP頁面。

+1

你可以用'.htaccess'做到這一點。 –

+0

@EkoJunaidiSalam如何?我只知道限制訪問這些頁面的可能性,因爲它們不能僅通過鏈接訪問。 – stwalkerster

+1

@ user3894937這似乎是一個奇怪的要求。你如何計劃書籤頁面?刷新頁面? – stwalkerster

回答

1

您可以通過簡單地在main.php文件中定義一個常量像

define("CONSTANT", "Hello world."); 

檢查您這樣做在你的page1.php中則page2.php像

defined('CONSTANT') or die("No direct access"); 
+0

這是好的,但我會尋找在配置文件中定義的常量,因此它可以在整個網站更廣泛地使用 – TheSk8rJesus

+0

@TheSk8rJesus肯定它 –

+0

我嘗試過使用define,它不工作,可能是因爲它使用@inclue包含的文件,因爲page1.php不是一個包含文件,當用戶點擊超鏈接時會調用它main.php – user3894937

2

創建一個文件你作爲.htaccess文件夾,複製粘貼下面這個文件:

Deny from all 

並在同你想限制它的文件夾,創建一個名爲index.html文件,並複製此粘貼到文件中:

<html> 
<head> 
    <title>403 Forbidden</title> 
</head> 
<body> 

<p>Directory access is forbidden.</p> 

</body> 
</html> 

希望這有助於你出去:)

+0

謝謝,我已經嘗試過這種方式,通過這個解決方案,目錄url給出了禁止消息,但是當我在該路徑中輸入特定文件名時,..../page2.php文件仍然打開 – user3894937