[英]Php connection to database: is it secure?
我使用以下php代碼連接到mysql數據庫。
$hostname = "hostname.com";
$database = "dbtest";
$username = "admin";
$password = "pass123";
$connect = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database);
此代碼放在名為connect.php的連接文件中,該文件包含在需要訪問數據庫的所有php腳本中。
如果黑客獲得了connect.php(http://www.domainname.com/connect.php)的網址,是否有可能破解我的數據庫。 如何確保php連接代碼無法幫助黑客? 或者哪種連接數據庫最安全?
您永遠不應該在您的網站的文檔根目錄中包含帶有代碼的PHP文件。 文檔根目錄中唯一的東西應該是一個bootstrap文件,並通過它來路由所有請求。 如果您將該文件放在站點的文檔根目錄中,並且由於某種原因,Web服務器不會解析該文件,它將按原樣顯示。
請不要使用mysql_*
函數來獲取新代碼。 它們不再維護,社區已開始棄用過程 。 看到紅色的盒子 ? 相反,您應該了解准備好的語句並使用PDO或MySQLi 。 如果你無法決定, 這篇文章將有助於選擇。 如果你想學習, 這是一個很好的PDO教程 。
並始終使用ecrypted連接(SSL)。
有關路由示例和調度模式,請參閱此處 。 基本上應該發生的是:所有請求都由文檔根目錄下的index.php
文件處理。 index.php
引導文檔根目錄之外的所有內容(即調用(包括))。 此文件將檢查請求的URL並找出哪個文件屬於當前URL並執行它。
通常情況下,如果黑客只有文件的URL,並且您的網絡服務器配置正確,以至於未顯示原始源代碼,那么這對於您的配置數據應該是安全的。
如果將此類配置文件放在Web根目錄之外,則可以提高安全性。
mysql_*
函數。 如果有人訪問此頁面,將不會發生任何事情。
雖然mysql_*
本身是不安全的。
它是安全的。 您還可以將文件存儲在DocumentRoot外部。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.