因此,当我尝试验证登录用户名和密码时,是否要尝试使用这些登录信息连接到数据库?或使用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