Php与数据库的连接:它安全吗?

San*_*254 2 php database security

我使用以下php代码连接到mysql数据库.

$hostname = "hostname.com";
$database = "dbtest";
$username = "admin";
$password = "pass123";
$connect = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database);
Run Code Online (Sandbox Code Playgroud)

此代码放在名为connect.php的连接文件中,该文件包含在需要访问数据库的所有php脚本中.

如果黑客获得了connect.php(http://www.domainname.com/connect.php)的网址,是否有可能破解我的数据库.如何确保php连接代码无法帮助黑客?或者哪种连接数据库最安全?

Pee*_*Haa 8

您永远不应该在您的网站的文档根目录中包含带有代码的PHP文件.文档根目录中唯一的东西应该是一个bootstrap文件,并通过它来路由所有请求.如果您将该文件放在站点的文档根目录中,并且由于某种原因,Web服务器不会解析该文件,它将按原样显示.

请不要使用mysql_*新代码的函数.它们不再维护,社区已开始弃用过程.看到红色的盒子?相反,您应该了解准备好的语句并使用PDOMySQLi.如果你无法决定,这篇文章将有助于选择.如果你想学习,这是一个很好的PDO教程.

并始终使用ecrypted连接(SSL).

有关路由示例调度模式,请参阅此处.基本上应该发生的是:所有请求都由index.php文档根目录下的文件处理.该index.php引导程序的一切(即电话(包括))文档根目录之外的另一个文件.此文件将检查请求的URL并找出哪个文件属于当前URL并执行它.

  • @GeenHenk因为它是[爱的夏天](http://blog.stackoverflow.com/2012/07/kicking-off-the-summer-of-love/)我不会称你为白痴 (6认同)
  • WP怎么样?只是不要用它... :-) @MichaelRobinson你见过这个来源吗?哦,恐怖. (4认同)
  • @GeenHenk:那你的意见是对的.:)抱歉,准备好的查询几乎是安全性101.其他任何东西只是要求SQL注入漏洞.有很多地方不同的意见很好,但在这里,你错了,你迫切需要改变主意,就像你说错了一样,如果你说"在我看来,我不是喜欢和其他人一样驾驶在同一条路上的想法",或者"我不喜欢在为我的餐厅准备食物之前必须洗手的想法" (4认同)
  • 它是如何不做任何事情的最好例子. (2认同)