从PHP连接到MySQL数据库

从PHP连接到MySQL数据库

问题描述:

我在网上找到的所有东西都告诉我要提供数据库用户和密码来连接数据库。从PHP连接到MySQL数据库

像往常一样偏执,我不喜欢这个,因为它意味着任何有php源代码的人现在都可以登录到数据库并与数据一起使用。这是访问数据库的唯一方式吗?

方面:http://www.cyberciti.biz/tips/facebook-source-code.html

+0

很高兴知道安全需要,千万不要失去它。 :o) – 2011-02-05 03:56:27

由于PHP将被解释,只有HTML解析将输出,你不用担心,因为将没有办法让PHP源的保持(猜你已经设置适当的措施,以便PHP源码不能下载)。

阻止从外部到MySQL服务器的所有流量。只允许localhost使用它。

+0

并保护您的文件可通过FTP访问 – mauris 2011-02-05 02:40:09

是的,这是唯一的方法。另外,作为一个偏执的人,你应该知道登录和密码的知识还不够,但是你必须从正确的主机(允许用这个凭证登录)登录。

另外,作为一个偏执的人,为什么你害怕窃取你的资源,并且不怕在你的代码中存在漏洞,这将使黑客窃取数据,即使没有登录和密码?在这种情况下,偏执狂最好不要编程。

+3

如果某人能够访问php.ini,该怎么办?你忘了他是偏执狂。 – zerkms 2011-02-05 02:15:15

你需要以某种方式提供连接信息,您的指定,但您可以减轻通过设置你的MySQL用户的风险有尽可能有限的权限尽可能。因此,只在需要的地方授予读取/插入访问权限,并且您可以将用户主机设置为仅允许来自127.0.0.1的连接。

也有商业迷惑产品,如http://www.zend.com/en/products/guard/,这可能是有趣的。我不确定它们是否包含字符串加密或不。

这不是唯一的方式,但它是世界上大部分地方(如99.999%)的做法,据我所知,100%的网络程序员。

考虑一下:如果密码被硬编码到源的某处,为什么要麻烦?为什么不让帐户无密码,只限制其访问Web服务器?有人可能会说:“哦,不要!不要那样做!”但是我再次问,有什么不同?无论如何,什么安全漏洞被打开?

真正的安全问题实际上是保护自己免受SQL注入。那开阔的帐户,使你容易受到如:

1)你必须在代码中的故障,可以被用来做一些用户不应该做的,或者

2)他们可以欺骗你的数据库服务器通过SQL注入执行代码。

因此,SQL注入是您防范的大bug。

还有二级保护。例如,大多数人对他们的“用户”表格含糊不清,这些用户表格包含用户和(不幸的是大多数时间)纯文本密码,如果您要通过电子邮件向用户发送密码,则需要这些密码。

通过锁定它,您可以在此表上放置第二级保护(以防他们通过SQL注入保护或发现漏洞使您的程序执行某些您认为不会执行的操作)根本看不到它或写信给它。然后你写两个存储过程,“addUser(username,password)”和“checkPassword(username,password)”。这是“深度安全性”的一个例子,您可以在更敏感的数据周围获得多级安全性。