我剛剛完成了一項工作,在一箇舊式開發的網頁上工作。隱藏/保護php-engine配置文件的最佳做法?
這意味着,數據庫連接的常用變量/常量和變量在查看php-engine中,而不是在單獨的文件中。 :-(
我以爲我會把它們放入一個config.php文件或config.inc文件,只是使用require_once(「/路徑/文件名」);在發動機
我的問題是,我是不熟悉的固定,所以我想,我更改的權限(也許755?)。
還有什麼我能做的麼?
我剛剛完成了一項工作,在一箇舊式開發的網頁上工作。隱藏/保護php-engine配置文件的最佳做法?
這意味着,數據庫連接的常用變量/常量和變量在查看php-engine中,而不是在單獨的文件中。 :-(
我以爲我會把它們放入一個config.php文件或config.inc文件,只是使用require_once(「/路徑/文件名」);在發動機
我的問題是,我是不熟悉的固定,所以我想,我更改的權限(也許755?)。
還有什麼我能做的麼?
移動配置文件中的公共文件夾之外,因此它不能通過URL訪問,否則,你的網絡服務器配置錯誤可能會發送文件解析(有人可能忘記告訴網絡服務器.inc文件應該運行呃php。我從來沒有爲他們命名.inc。總是.php)。這很少見,但在我訪問的網站上至少發生過兩次這種情況,他們的文件中也有證書。
需要保留文件權限。但你確實可以通過以下方式使腳本本身無法訪問:
<Files config.php>
Order Deny
Deny From All
</Files>
但這只是一種表面上的預防措施。如果您將該腳本命名爲「config.php」,則無論如何都不能通過網絡訪問。
如果您使用的是共享主機,則無法阻止其他帳戶的窺探。這需要使用suphp/suexec進行服務器設置,以限制文件系統訪問其他用戶。
謝謝,我只想隱藏網絡。所以Gordon的答案應該是可用的:我需要將這個文件從公共文件夾移出。 – tildy 2012-01-05 12:46:10
如果您將您的配置文件命名爲whatever.php,並且它只有常量或變量定義(或者甚至更多的代碼)並且包含它,那麼這沒有任何安全問題。 WordPress的使用這種方法
永遠不要以爲任何事情都有「沒有安全問題」。總有一層可以添加的保護層。 – Cheekysoft 2012-01-05 12:49:49
我知道。但問題不同。 – tildy 2012-01-05 12:52:51
你能告訴我在哪裏可以配置它?例如,引擎php文件位於/ test文件夾中,我想將此配置文件放入/ test/config目錄,文件夾和配置文件需要什麼權限,或者有必要將任何內容一個php.ini文件? – tildy 2012-01-05 12:59:46
@tildy在你的apache配置中:https://httpd.apache.org/docs/2.0/mod/mod_mime.html#addhandler – Gordon 2012-01-05 14:59:32