【发布时间】:2011-10-23 03:56:26
【问题描述】:
我开始学习一些关于 mysql 的知识,当我阅读时,我在想 mysql 上的安全漏洞非常巨大,如果有人没有真正了解关于 mysql 的所有内容,就无法很好地覆盖。
如果我有一个不会存储大量信息的网站,将其存储在 .php 文件中会不会很糟糕?
这有什么影响和漏洞?
在我看来风险要小得多,因为如果 .php 文件没有 echo 语句,如果你尝试访问它,你得到的只是一个空白页面,如果你无法“发送代码” ' 通过用户输入并将文件发送到网站,就网站而言,它应该是安全的(显然,如果服务器本身被黑客入侵,攻击者几乎可以控制一切,但这不是问题的重点)
更新问题。
看来我上面写的并没有产生我期望的那种答案,所以我会尽量简化。
我在这里寻找的是为什么数据库比没有偏见的平面文件更安全,因为我读过关于这个主题的大多数人只会说数据库更安全,但不能说出原因。是的,它们更快,并且更容易操作数据,尤其是在数据复杂或有多个用户且信息很多的情况下。关于这一点,很容易理解为什么。
事实上,当我几天前开始阅读有关 mysql 的信息时,我发现如果您的 php 很可能受到威胁,那么数据库也很可能受到威胁,因此编写良好的安全 php 代码可能是 mysql 的第一道也是最重要的防线数据库。
如果您的 php 不受影响,那么您存储在 php 文件中的信息也是如此,因此如果您编写了良好的安全 php,那么普通 php 文件的安全性就会很好。
拥有数据库还使您使用通常不会使用的 php 函数,其中一些具有必须“修补”的真正安全漏洞,因此编写良好的安全 php 代码以使用数据库比编写同样的代码更复杂使用纯文件的安全代码。
此外,当您安装了 apache/php/mysql 时,如果没有正确配置和维护,您有 3 个可能为黑客提供入口点的东西,如果您切断 mysql,您只有 2 个,您将不必例如,为 sql 注入而烦恼,因为没有不可能发生的数据库,您可以注入所有您想要的 sql,但您将一无所获。
因此,对于管理少量数据,纯文件在我看来是一种安全的,处理数据有点复杂,考虑到我们正在谈论的数据量很小,所以速度较慢但不相关。
为什么这些扣除可能是错误的,这是我正在寻找的信息。
【问题讨论】:
-
为什么存储很重要?重要的是您如何处理存储的数据。将某些内容保存到 PHP 文件中会删除服务器上的文件,这是自取其辱的秘诀。
-
@Furicane 这不是重点,与问题无关。我说的是存储信息,而不是“删除有效 php 代码中内容的命令”
-
所以你说在mysql中存储一些数据比将数据存储在PHP文件中是一个更大的安全漏洞,因为如果没有
echo语句,什么都不会发生?我刚刚告诉你它可以,因为 php 文件是可执行的。从理论上讲,有人可以在该文件中存储任何内容,包括恶意代码。如果有人将其存储在 mysql 中,唯一的问题是您如何提取该数据以及如何处理它。另外,一旦从 mysql 中提取 PHP 命令就不会被评估,如果你将这些东西存储在一个 php 文件中,那么它们是可执行的。如果没有更多信息,我怀疑是否有任何进一步的帮助。 -
@Furicane 我知道 php 文件是可执行的。您说在我创建的假设情况下,某人可以在该文件中存储某些内容,我的问题是,他们如何在给定情况下存储/更改/查看该文件中的某些内容?我也没有说没有 echo 声明就不会发生任何事情,我说你将无法看到信息。当您访问页面(或打印语句或其他一些)时。同样对于“商店信息”,我指的是,例如,一个单词表。 .php 文件将有一个 $x='blah';就可以了。有人怎么能看到'blah'