2011-10-22 112 views
2

我开始学习一些关于mysql的知识,当我在阅读时,我一直认为mysql上的安全漏洞非常巨大,如果有人不能真正理解,关于MySQL的一切。mysql漏洞。将数据保存在php文件或mysql数据库中

如果我有一个网站,将不会存储信息的一个非常大的体积,这将是坏将其存储在.php文件?

这有什么含义和漏洞?

在我看来,风险要小得多,因为如果.php文件没有echo语句,如果你尝试访问它,你只能看到一个空白页面,如果你无法'发送代码“,并将文件发送到网站,就网站而言应该是安全的(显然,如果服务器本身被黑客入侵,攻击者几乎可以控制所有内容,但这不是这个问题的关键)


更新的问题。

似乎有什么我上面写的是不生产的那种,我期待的答案,所以我会尽量简化。

我正在寻找这是为什么是数据库比平面文件更安全不带偏见,因为大多数人我已经在这个问题上阅读的东西大概只想说数据库是更安全的,但不能说为什么。是的,他们更快,更容易操纵数据,特别是如果它是复杂或多个用户,并且有很多信息。关于这一点,很容易理解为什么。

的事实是,当我前几天开始阅读关于MySQL我看到,如果你的PHP是损害最有可能等等都是这么写,良好的安全的PHP代码的数据库可能是防御的第一个也是最重要的一行到你mysql数据库。

如果你的PHP是不打折扣的如此如此,如果你编写好安全的PHP你存储在PHP文件的信息,平原PHP文件的安全性会很好。

有数据库,也让您使用PHP函数,通常你不会用,其中一些具备有被“修补”真正的安全漏洞,所以写良好的安全的PHP代码数据库的工作比写更复杂同样安全的代码来处理纯文件。

当你安装了apache/php/mysql时,如果你的mysql没有正确的配置和维护,你有3件事情可能会给黑客入口点,如果你松开你只有2个,你不会有例如,因为没有数据库不可能发生,你可能会注入所有你想要的sql,但你什么也得不到。

所以对于管理少量数据,普通文件似乎我像一个安全的,有点复杂的数据工作,速度较慢,但​​没有相关的考虑,这是我们正在谈论的数据量小。

为什么这些扣除是错误的是我正在寻找这个信息。

+1

为什么会收纳物?重要的是你如何处理存储的数据。将某些东西保存到删除服务器上的文件的PHP文件是拍摄自己的脚的秘诀。 – Furicane

+0

@Furicane这不是重点,与问题无关。而我正在谈论的是存储信息,而不是'命令删除有效的PHP代码中的东西' – wxiiir

+0

所以你说,在MySQL中存储一些数据是一个比在PHP文件中存储数据更大的安全漏洞,因为如果没有'回声'声明,什么都不会发生?我刚刚告诉过你可以,因为php文件是可执行文件。理论上,有人可以在该文件中存储任何内容,包括恶意代码。如果有人将它存储在mysql中,唯一的问题是你如何获取这些数据以及你如何处理它。另外,PHP命令一旦从mysql中取出,就不会被评估,如果你把这些东西存储在一个php文件中,那么它们是可执行的。没有更多的信息,我怀疑任何进一步的帮助是可能的。 – Furicane

回答

1

苹果和橘子。

你可以去到一个拖动种族与悍马并完成比赛,但你一定会在去年相比,布加迪。采取布加迪越野,它肯定会落后悍马。

PHP是一种服务器端脚本语言。数据存储和检索不是PHP中的主要考虑因素。

mySQL是一个关系型数据库管理系统。它的设计是100%用于数据存储,检索和安全。

你在PHP中的数据存储和检索计划是什么?似乎将不得不做很多不必要的工作来重新发明轮子来实现这一点。你为什么?

不明白你在mySQL中特别担心的安全问题,没有什么更多的补充。

编辑:An article calling out the general differences.

+0

这是一个简单的问题,可能是一个简单的(也许很大的)答案,我不知道。存储在.php文件中的非恶意字符串/数组数据有什么安全隐患?人们如何看到它或修改它。也是你的比喻是非常有趣的,因为有可能是布加迪不会完成越野路线xD – wxiiir

+0

@ wxiiir哈哈好点:)所以要回答你关于平板php文件中的数据访问的问题..它将与访问你的文件系统。考虑TimThumb(PHP中流行的缩略图创建脚本)最近的漏洞利用http://wpcandy.com/reports/timthumb-security-vulnerability-discovered。Exploiters想出了如何允许他们自己在TimThumb缓存目录中上传和执行任意PHP代码。现在想象一下,如果这个PHP代码简单地转储了Web目录中所有文件的内容......他们现在就拥有了所有的数据。 – Gibron

+0

这是很好的信息。让我们说,如果我有这个被黑客入侵的网站,他们可以很容易地看到将存储在普通php文件中的信息(如果我以这种方式存储的话)。现在的问题是,他们为什么不能够看到我的数据库的信息(如果不是使用普通的PHP文件,我会使用MySQL数据库)? 我猜想在黑客能够在网站内部执行任何php代码的情况下访问数据库不会有任何困难,也许最多需要10分钟才能访问普通php文件的信息,上午我错了? – wxiiir

0

这两点会覆盖大部分的安全问题:

1)了解PDO和准备语句协议。这将处理大部分(如果不是全部)SQL注入问题。不要将原始SQL发送到数据库。

2)清理所有进入PHP的GET和POST数据。这将处理大多数XSS。

其他语言的许多框架都是为你做的,但PHP新手只会使用裸露的PHP并且自己承担各种攻击。这就是PHP“不安全”的原因。

阅读关于安全性,并尝试实现一些你认为很重要的指针。没有语言,框架,平台等是100%安全的。就像生活中的其他一切一样,你尽可能多地采取措施来尽量减少风险。

+0

我已经知道sql注入,我编码了很多东西,收集后和获取数据,我每次都正确地消毒。现在你说php新手只会将内容存储在纯粹的php中,并且为各种攻击打开自己,这就是为什么php不安全,这是我感兴趣的信息,这就是为什么我创建这个假设的情况,看看是否有人会知道已知的方式来检索保存在'flat php文件'中的数据 – wxiiir