1

在我的 php 页面上,在顶部我像这样连接到数据库

$db = mysql_connect("mysql.site.com","thedb", "pass"); 
mysql_select_db("dbase",$db); 

这安全吗?有人可以以某种方式扫描并查看我的代码,从而访问数据库吗?

更新

我问的原因是因为用户能够访问我的数据库,而且我很确定这不是通过 sql 注入。

4

4 回答 4

3

如果您将此片段移动到文档根目录之外的包含文件会更好——这将防止人们阅读它,以防您的网络服务器以某种方式被错误配置并开始以纯文本形式提供 PHP 文件。尽管就其本身而言,它已经足够安全了——不太可能有人故意像这样错误地配置您的服务器。

于 2012-05-27T17:05:02.707 回答
1

如果有人确实可以访问您的代码,那么是的,他们将能够读出密码。

您对此无能为力,但确保此代码是您的 Web 根目录上的目录会有所帮助。

(即,如果您从文件夹中为您的站点提供服务,请将其/usr/htdocs/mysite更改为/usr/htdocs/mysite/public,然后将您的包含放在 mysite 中而不是 public 中。)

于 2012-05-27T17:06:35.043 回答
1

您应该始终应用多层防御

  1. 从源代码中删除凭据并将它们放在 Web 服务器的文档根目录之外。
  2. 限制对数据库的访问,可能只能通过localhost或通过套接字。
  3. 将用户的权限限制在必要的范围内。
于 2012-05-27T17:27:54.240 回答
0

没关系,我可以说的重要一点是,转到您的数据库并授予该用户受限权限,我的意思是只选择、插入、更新和删除它需要的表。除此之外,使用该信息创建一个文件,然后包括当你需要它,这是我的建议。

如果有人通过您的代码将能够看到该信息,但尽量减少损害影响

于 2012-05-27T17:08:19.537 回答