簡體   English   中英

安全存儲數據庫憑據

[英]Secure storage of database credentials

最近有一個主要問題,我的網絡托管公司搞砸了,我的所有php文件都以純文本顯示。 出於顯而易見的原因,這對我來說是個主要問題。 主要是因為暴露了mysql數據庫的細節。

我現在正試圖改變我的php文件獲取數據庫登錄信息的方式,這樣即使托管公司讓我失敗也不會再發生這種情況。

我目前的設置如下:

     include 'info.php';

    class Login {

var $host;
var $username;
var $password;
var $db;
var $url;

info.php里面是數據庫的用戶名,密碼等。 我想這樣做,以便永遠不會查看info.php文件,只有我的.php文件能夠訪問info.php才能獲得登錄信息。

我怎么設置它? 這對我來說是一個棘手的解釋所以請不要苛刻和-1我的描述不好..只是問問我將清除我的描述中的任何空白。

只需將info.php放在您的webroot之外。 這樣,您可以包含它,但是如果您的網站托管f *#$ up,其他任何人都無法查看該文件,即使是純文本也是如此。

然后你會像這樣包括它:

include('../info.php');

這樣,即使有人發現你有一個名為info.php的文件存儲了你的所有密碼,他們也無法將瀏覽器指向該文件。

以上將是理想和最無懈可擊的解決方案。 但是,如果由於權限而無法實現,則另一個選項是將所有敏感文件放在目錄中,並使用.htaccess文件阻止對該目錄的直接訪問。

在要阻止訪問的目錄中,放置一個.htaccess文件,其中包含以下內容:

deny from all

如果由於某種原因xbonez的答案不起作用(假設一個人無法訪問非document_root文件夾)..你可以通過使用.htaccess來實現同樣的目的

<files info.php>
 order allow,deny
 deny from all
</files>

這應該在理論上(未經測試)保護文件不被瀏覽器使用但不阻止php包含所述文件。

創建重定向到文件的表單以獲取示例“requests.php”,並為您的所有請求啟用它。如果您的數據正確重定向到特定頁面,如果不這樣做。在交換機的末尾放置anoter重定向用這種方式,用戶看不到那個頁面。不要把它放在那里或者其他東西 - 只有邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM