当前位置: 首页 > 面试题库 >

在PHP代码中隐藏数据库登录信息

公良鸿光
2023-03-14
问题内容

我是Web编程的初学者。我试图创建一个简单的网站,该网站正在从SQL数据库读取数据。起初,我只是写了数据库密码,然后直接登录php代码:

<?php
$username = "login";
$password = "pw";
mysql_connect("server", $username, $password);
...
?>

这显然不是一个好主意!那么什么是(更多)更“安全”的方法呢?我读过有关将php代码放入单独的文件中的信息,这意味着不将其放入网站的主要php文档中,然后限制对该文件的访问。也许通过.htaccess文件。这是要走的路吗?


问题答案:

config.php文件和.htaccess是一种 经典/不错的选择 。这是通常使用CMS或框架完成的方式。

如所述JohnP,您还可以将config.php 公共目录 存储外部
,这意味着无法通过HTTP访问它。这仅对安全性有一点好处(如果您没有对.htaccess犯错,就不会有更多的风险)。

文件结构示例:

  • config/ ->配置文件
  • lib/ ->库和utils PHP文件
  • public/ ->所有您的公共页面/文件/图像…

这样,http://www.your-site.com/指向public/,因此无法访问配置。但是此解决方案意味着您可以更改根Web目录(或已经这样)。

最后,您必须记住将文件设置 Apache用户可读取和写入 ,而不是所有人都可 读取(可读写
文件)(unix文件访问权限),这样,如果某人通过另一个用户获得对您服务器的访问权限,则他将无法读取该文件。



 类似资料:
  • 我几乎完成了我的一个项目(对我来说,我是一个初学者)。我想隐藏登录链接时,一个角色(管理员或用户)是登录到数据库。我还想显示一个名为“添加等级”的链接,仅当Admin(Manager)登录时。我正在使用spring boot、Tymeleaf、spring security5和h2&JDBC。 总之,我想隐藏或显示基于用户角色的HTML 更新:当我使用 匿名用户 这是我在navbar中包含或不包含

  • 问题内容: 我已经弄清楚了如何抑制大型代码块出现在最终的NB转换(PDF)输出中。 通过将LaTex命令放在“我不想在最终输出中包含的代码之前的原始单元格中 最后在原始单元格中跟随此操作 但是,当我需要显示图形之类的东西时,这仍然给我留下一些难看的代码,而笔记本的基本目的是显示带有结果的代码,有时对于非技术人员来说,我们只需要输出即可。任何想法吗? 如果有人受到启发,这有点相关..以任何方式在ma

  • 类通常对类的客户隐藏其实现细节,即所谓的信息隐藏。下列以堆栈数据结构作为信息隐藏的例子。 可以把堆栈看成一堆盘子。将盘子放在堆中时,总是放在顶部(压入堆栈),从堆中取下盘子时,总是从顶上取(称为弹出堆栈)。堆栈是后进先出(last-in,first-out;LIFO)的数据结构,最后放进堆栈的项目最先从堆栈中取出。 程序员可以生成堆栈类,对客户隐藏实现细节。堆栈可以方便地用数组实现(或用第15章“

  • 主要内容:通过命令行客户端软件登录当MySQL 服务开启后,就可以通过客户端来登录 MySQL 数据库了。在 Windows 操作系统下可以使用 DOS 命令登录数据库,本节将介绍使用命令方式登录 MySQL 数据库的方法。 登录 MySQL 数据库的具体操作步骤如下: 步骤 1):单击“开始”→“Windows 系统”→“命令提示符”,如图所示。 步骤 2):打开命令行提示符界面,输入命令 ,按回车键,如图所示。 步骤 3):在

  • 我有一个moodle数据库(其中有完整的用户)。所以,我想创建一个登录表单(只是为了好玩),并且用户可以用他们的moodle帐户credidentials登录。Moodle为每个单独的用户使用密码盐,我如何在我的代码中盐密码来与db记录进行比较?

  • 问题内容: 通过浏览器的“查看源代码”功能查看源代码时,是否可以从网页的html隐藏Javascript代码? 我知道可以对代码进行混淆,但我希望将其 隐藏 在视图源功能中。 问题答案: 我不确定其他人是否真的直接解决了您的问题,即正在从浏览器的“查看源代码”命令中查看代码。 就像其他人所说的那样,没有办法保护要在浏览器中运行的javascript免受确定的查看者的攻击。如果浏览器可以运行它,那么