目前的文件,我連接到一個數據庫使用以下:商店file_put_contents在安全的位置
<?php
try
{
$dbh = new PDO(
'mysql:host=localhost;port=3306;dbname=databaseName',
'databaseUser',
'databaseUserPassword');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch(PDOException $e)
{
echo "I'm sorry, Dave. I'm afraid I can't do that.";
file_put_contents('PDOErrors.txt', "\n" . $e->getMessage(), FILE_APPEND | LOCK_EX);
}
?>
這個文本文件寫入到同一位置這個PHP文件,這是對我的公開可用網站。雖然此位置未明確向用戶披露,但如果有人發現此位置(即example.com/PDOErrors.txt),則他們將能夠很好地查看該文件的內容。
我的問題:這是處理這個問題的正確方法嗎?我可以用密碼保護目錄嗎?我可以將該文件寫入網站之外的某個不公開的網站(例如網站上方的根文件夾)嗎?
我需要能夠訪問PHP文件來訪問我的數據庫(我在排行榜類型的東西的遊戲裏面這樣做),但輸出文件應該只對我有用。
簡單的回答:如果你不想通過網絡獲得某些東西,那麼不要把它放到可通過網絡訪問的地方。永遠不要在網站的文檔根目錄中存儲任何「私密」內容。 –
您的文檔根目錄中的唯一文件應該是公共文件,僅此而已。在大多數情況下,你只能在那裏找到一個'/ img','/ js','/ styles'和'/ index.php',它只包含'<?php require __DIR__。 '/../ bootstrap.php';' – PeeHaa
我不會去使用密碼保護,因爲發生什麼風險,是每次你/腳本想要寫入文件,它都會要求每次都有一個密碼。最好將它從「公共」中完全放出,並將其深深地放在除「public」外的任何其他外部文件夾中。我確信還有其他的方式,但那是其中之一。 –