2012-09-13 43 views
2

我的数据库名称是学生,我的问题是我每次在php文件中包含数据库名称,使用include('student.php'); student.php文件连接mysql查询语句。 这是正常的,但我想隐藏数据库名称的任何地方或其他人看不到数据库和数据库设置。如何在php文件中隐藏数据库名称

+0

您是否尝试过使用'DEFINE(数据库, “DB_NAME”);'在一个单独的包含文件?通常如果他们有权访问服务器,他们会找到它。 –

+0

你仍然可以回应它等... – Tschallacka

+0

我不知道这是否用于代码查看/演示目的或类似的东西。 –

回答

1

我不知道这是否是正确的答案,但我们怎么通常做这在Rails是通过在服务器上设置数据库的设置环境变量(和地方),并有我们的应用程序使用这些环境变量来配置该数据库连接。您可以在PHP应用程序中执行相同的操作,以便从编辑代码和源代码控制的人员中隐藏数据库名称(和密码)。它也有助于部署到多个服务器。

0

你能做的最好的解决方案是建立数据库与其中只有允许做正常的东西用户镜子,但不能访问或删除数据库。

这样,它并不重要你的学生做什么或看到的数据库。

+0

示例代码是:dbconn.php <?php $ con = mysql_connect('localhost','root',''); mysql_selectdb( “学生”,$ CON);?>这是dbconn.php文件,我使用包括( 'dbconn.php')包括任何其他PHP文件的数据库连接;.但是我想不使用这种编码的东西,我只使用php编码在mysql中自动获取数据库。 –

+0

第一条评论... ***不要在代码中登录为根***如果代码中存在漏洞利用的任何途径,那么整个数据库和服务器都可能受到黑客的摆布。 在SQL服务器中创建一个新的用户帐户,并仅允许其拥有学生数据库的基本权限。 然后使用用户帐户建立与数据库的mysqli连接。 ***没有根!永远不要!***根目录只能在登录到phpmyadmin或其他数据库管理软件来管理数据库时使用。 – Tschallacka

+0

推荐阅读:http://php.net/manual/it/book.mysqli.php Mysql_方法停止/淘汰/因为mysqli的 的depricated http://dev.mysql.com/doc/refman/5.1 /en/adding-users.html如何创建用户。 – Tschallacka

相关问题