【发布时间】:2018-05-08 20:34:39
【问题描述】:
我试图弄清楚是否有一种方法可以制作一个密码恢复系统,该系统实际上隐藏了带有所有 mysqli db 用户名和密码的“connection.php”。这可能吗?
我发现的大多数教程都显示了“connection.php”文件以建立与数据库的连接,并且可以从源代码中查看它,从而使数据库登录信息可见。有人可以帮我解决这个问题或为我指出正确的方向吗?
示例:
<?php
$connection = mysqli_connect('localhost', 'root', 'Rvm@i[9)0?~=');
if (!$connection){
die("Database Connection Failed" . mysqli_error($connection));
}
$select_db = mysqli_select_db($connection, 'pixelw3p_demo');
if (!$select_db){
die("Database Selection Failed" . mysqli_error($connection));
}
?>
这是在connection.php文件中,需要添加为
require_once('connection.php');
现在可以在源代码中看到这个 php 文件,然后您就知道要查找哪个 php 文件来获取数据库信息。有什么办法可以隐藏所有这些,这样我的数据库就不会受到攻击?
【问题讨论】:
-
您是否真的尝试查看源代码?
-
注意:
mysqli的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql_query接口混淆。在您对程序风格投入过多之前,值得转换一下。示例:$db = new mysqli(…)和$db->prepare("…")过程接口是 PHP 4 时代引入的mysqliAPI 的产物,不应在新代码中使用。 -
好吧,我觉得自己像个白痴……如果你愿意,你可以删除它。
-
只要你在学习,问一些看起来很尴尬的问题并没有错。别担心。最好问而不是糊涂而不知道更好。