当PHP应用程序建立数据库连接时,它当然通常需要传递登录名和密码.如果我正在为我的应用程序使用单个最小权限登录,那么PHP需要知道某处的登录名和密码.保护密码的最佳方法是什么?看起来只是在PHP代码中编写它并不是一个好主意.
我目前正在为我教会的大学团队建立一个网站,我开始对我正在写的东西的安全性感到有些担忧.例如,我使用这个函数:
function dbConnect()
{
global $dbcon;
$dbInfo['server'] = "localhost";
$dbInfo['database'] = "users";
$dbInfo['username'] = "root";
$dbInfo['password'] = "password";
$con = "mysql:host=" . $dbInfo['server'] . "; dbname=" . $dbInfo['database'];
$dbcon = new PDO($con, $dbInfo['username'], $dbInfo['password']);
$dbcon->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$error = $dbcon->errorInfo();
if($error[0] != "")
{
print "<p>DATABASE CONNECTION ERROR:</p>";
print_r($error);
}
}
Run Code Online (Sandbox Code Playgroud)
每当我进行某种查询时连接到数据库.我总是使用PDO预处理语句来阻止任何用户输入的SQL注入,并且我在输出之前使用htmlspecialchars来转义.我的问题是:如何保护我的数据库的用户名和密码?我不知道是否有人可以查看我的PHP文件的来源,但如果可以,我只能想象我会被软管.我该怎么办?
如何在PHP代码中输入密码并保证在浏览器中查看页面的人无法检索到它?
是:<?php $password = 'password' ?>够了吗?这样做有更好,更安全的方法吗?