2012-01-10 96 views
0

我正在構建使用許多文件的網站,其中許多文件絕不應通過瀏覽器訪問。例如,每個MYSQL查詢頁面的用戶都有一個mysql_conect腳本,但如果用戶要通過URL(example.php/mysqlconnect.php)直接導航到該頁面,屏幕將返回空白。如何讓瀏覽器用戶嘗試直接訪問這些文件時會返回401權限錯誤?Public_html文件權限

+0

「'屏幕將返回blank'」 - 那又怎麼樣呢? – 2012-01-10 00:30:03

+0

「增強的使用體驗」大聲笑...事實是,你們所有人都是對的,它沒有安全風險,所以我暫時離開它。謝謝大家。 – Jon 2012-01-10 00:39:46

+0

這種使用體驗的用例是什麼?公平用戶在什麼情況下可能遇到這個文件? – 2012-01-10 00:52:32

回答

2

沒有必要這樣做。除非你迴應價值觀,否則你是安全的。

PHP不會在瀏覽器中呈現,除非被告知這樣做。許多(全部)腳本都在做你正在解釋的內容。

0

在特定情況下,無論你想,你可以把你的文件,下面的代碼添加到您的文件

if(basename($_SERVER['PHP_SELF']) == 'mysqlconnect.php') 
    header('HTTP/1.1 401 Unauthorized'); 
    exit; 

因此,如果該文件將直接請求,它會返回401狀態碼,然後退出。

1

正如@Paul所說,沒有必要這麼做,如果用戶將瀏覽器指向example.php/mysqlconnect.php,用戶將永遠無法看到php文件的內容,但是如果您想要,您可以刪除在該mysql_connect.php腳本與以下內容相同的目錄.htaccess文件:

<Files mysql_connect.php> 
    order allow,deny 
    deny from all 
</Files> 

或者,如果你想限制訪問整個目錄的.htaccess文件的內容必須是:

deny from all 

Options All -Indexes 

你可以看到這裏的.htaccess文件更多的配置選項:

Htaccess tricks