[英]How can I secure my database credentials when using shared hosting and no access to outside the webroot?
我所有的數據庫憑據都包含在要放置在webroot文件之外的包含文件中。
但是,我的共享主機計划不允許我將文件放置在webroot之外。 我是否必須考慮以某種方式加密我的文件以確保我的憑據是安全的?
我讀過一種產生偽造的404頁面的方法,但對我來說聽起來並不十分安全。
我還采取了創建只讀用戶帳戶的步驟,這樣,如果我的帳戶遭到破壞,那么至少沒有任何內容可以被覆蓋或刪除,但是我顯然希望盡可能地受到限制。
你不能
最好的辦法是創建將由托管服務解釋的php文件。
<?php
$DB_USER = 'your_user';
$DB_PASS = 'your_pass';
$DB_INSTANCe= 'your_instance';
當有人將通過Web瀏覽器訪問您的文件時,他將看不到任何東西。 當您需要文件時,只需將其包括在內。
您還可以添加一些.htaccess(可能),以便使用Web瀏覽器的人都無法訪問您的文件。
具有與您對同一物理主機的讀取訪問權限的人將很遺憾能夠訪問此文件,並且沒有任何方法可以防止這種情況。
如果服務器正在運行apache,並且允許您覆蓋指令,則可以通過在webroot中使用以下幾行創建一個.htaccess文件來實現,請確保將<FILENAME>(包括<>)替換為名稱您要拒絕訪問的文件。
#Deny access to the .htaccess file
<Files ~ "^\.htaccess">
Order allow,deny
Deny from all
</Files>
#Deny the database file
<Files ~ "^\<FILENAME>$">
Order allow,deny
Deny from all
</Files>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.