因此,當我嘗試驗證登錄用戶名和密碼時,是否要嘗試使用這些登錄信息連接到數據庫?或使用root/administrator /超級用戶的用戶名和密碼?用於登錄用戶名和密碼驗證的數據庫連接混淆
我聽說後者可能會導致安全漏洞,但我不知道如何驗證登錄信息,除非mysqli_connect在由於無效的用戶名/密碼字段而無法建立數據庫連接時提供錯誤代碼。
因此,當我嘗試驗證登錄用戶名和密碼時,是否要嘗試使用這些登錄信息連接到數據庫?或使用root/administrator /超級用戶的用戶名和密碼?用於登錄用戶名和密碼驗證的數據庫連接混淆
我聽說後者可能會導致安全漏洞,但我不知道如何驗證登錄信息,除非mysqli_connect在由於無效的用戶名/密碼字段而無法建立數據庫連接時提供錯誤代碼。
在數據庫管理系統中使用CREATE USER
和GRANT
命令,您應該使用爲數據庫訪問配置的任何用戶名和密碼。每個應用程序用戶都不可能在數據庫系統中擁有自己的帳戶。您的數據庫管理員應該能夠告訴您適用於您的應用程序的適當用戶和密碼。 (如果你是數據庫管理員,我認爲你需要...)
不要使用mysqli_connect,使用PDO連接來連接數據庫,並將其存儲在帶有htaccess文件的文件夾中阻止任何人訪問它。下面喜歡的東西應該做到:
<?php
try {
$pdo = new PDO('mysql:host=188.121.44.140;dbname=yourdatabasename', 'yourdatabasename', 'yourpassword');
} catch (PDOException $e) {
exit('Database error.');
}
?>
'mysqli'有什麼問題? – jeroen
是你要驗證的登錄爲** **數據庫的用戶名/密碼組合,或者你正在寫一些web應用程序,它僅僅使用一個登錄數據庫存儲密碼? – CmdrMoozy