2010-11-17 100 views
2

我在我的網站上有一個名爲「admin」的文件夾即ie。 www.example.com/admin/,所以我想要做的是當有人前往該地址時顯示一個登錄框,一旦他們輸入了正確的憑證,他們就可以看到該「admin」文件夾中的所有內容,所以我是否需要在每一頁的頂部進行檢查,或者只需將檢查插入index.php頁面?PHP登錄網站文件夾

這可能嗎?

+0

duh。什麼檢查? – stillstanding 2010-11-17 10:54:58

+0

查看是否輸入了正確的登錄名... – benhowdle89 2010-11-17 10:56:03

回答

0

也可以實現(排序)與.htaccess取決於您的實際要求。

AuthType Basic 
AuthName "Admin Area" 
AuthUserFile /path/to/.htpasswd 
Require valid-user 

htpasswd的

admin:$apr1$7ej2t/..$qlcauURCmChKfwVhnxRLt. 

(管理員/通)

+0

您忘記提及密碼應該加密,請參閱:http:// stackoverflow。com/a/16014941/669677 – 2013-04-15 12:17:36

2

如果您打算在PHP中使用會話,則應檢查在成功登錄的用戶訪問的頁面上是否設置了適當的會話變量。

要細說,你需要使用這樣的事情:

<?php 
session_start(); 

if($_SESSION['usertype'] != 'admin') //$_SESSION['usertype'] should be set in the index page once the admin guy logs in successfully 
header("Location:http://www.example.com/admin/"); //Redirect the user to the login page if the expected session variable is not found 
?> 
1

如果你想通過PHP來做到這一點,你必須包括代碼每個源文件檢查,如果這個人有適當的證書。你真的想用基於Web服務器的解決方案來解決這個問題。

如果您使用的是Apache,您可以使用.htaccess文件來設置身份驗證。嘗試This article爲您的正確方向邁出第一步。

使用基於服務器的身份驗證還允許您保護非PHP文件。

2

當有人轉到該文件夾​​時,會顯示index.php。沒有它,將顯示內容(所有文件),這是我認爲你想在這裏(即列出所有內容)

但是,可以在.htaccess文件中設置權限以要求對這些文件進行密碼訪問。

這樣,您的文件不需要單獨保護,只需要文件夾本身。

+0

優秀,所以我可以在.htaccess而不是在頁面本身中完成所有操作。 – benhowdle89 2010-11-17 11:03:48

+0

是的。這將保護目錄中的所有文件不被訪問,除非用戶已被授權使用密碼。你不需要有一個index.php來管理它們。 – Dave 2010-11-17 11:15:04

0

你的條目的主點可以是在index.php和路由用戶到正確的視圖基於是否沒有設置SESSION。

至於阻止文件夾中的其他文件:

的PHP文件:在index.php,並在所包含,如果它的「定義」檢查其他PHP文件的頂部定義常量。

至於圖像和其他類型的文件,你可以將它們存儲在根上,並通過PHP包含它們。