Php mysql connect-用户名/密码是否应该硬编码?

Php mysql connect-用户名/密码是否应该硬编码?,php,mysql,database,security,Php,Mysql,Database,Security,我是一名iPhone开发人员,刚开始使用PHP和mysql(为他人创建网站,为我的应用程序创建web服务) 每当我将用户名和密码硬编码到一个PHP文件中以连接到数据库时,我都感到有点奇怪。例如: $con = mysql_connect('localhost:8888','root','password'); 如果我不得不向任何人展示代码,我会觉得这有点尴尬 这是安全的还是良好的做法 有没有其他连接数据库的方法 我将非常感谢与此问题相关的任何建议。对于将要重新分发的脚本,最好将它们组合在一

我是一名iPhone开发人员,刚开始使用PHP和mysql(为他人创建网站,为我的应用程序创建web服务)

每当我将用户名和密码硬编码到一个PHP文件中以连接到数据库时,我都感到有点奇怪。例如:

$con = mysql_connect('localhost:8888','root','password');
如果我不得不向任何人展示代码,我会觉得这有点尴尬

  • 这是安全的还是良好的做法
  • 有没有其他连接数据库的方法

我将非常感谢与此问题相关的任何建议。

对于将要重新分发的脚本,最好将它们组合在一起,并将它们作为常量或变量

config.php

<?PHP
define('DBHOST', 'localhost');
define('DBPORT', '8080');
define('DBNAME', 'my_db_name');
define('DBUSER', 'root');
define('DBPASS', 'password');

我从未将登录信息硬编码到PHP代码中。我总是把它放在一个单独的文件中,并包含在实际的PHP代码文件中。这样,您就不需要向任何人显示登录数据。如果有人试图欺骗web服务器,则获取该文件会稍微困难一些。

可能与另一个文件重复:。。。底线是,你的怀疑是正确的——最好将数据存储在一个单独的包含文件中,最好是在web根目录之外。请参阅将其放入robots.txt中设置为不允许的文件夹是否可取?@Alex Coplan:disallow in robots.txt?该文件应完全超出web访问范围@Dani那么你会把它放在哪里抱歉,我对web开发非常陌生。请不要在robots.txt中禁止此操作。任何人都可以阅读robots.txt的内容。如果您在这个文件中不允许它,那么您基本上是在确认该文件的存在。我的意思是说你有一个www文件夹包含在另一个名为root的文件夹中。如果您的网站位于www.config中,则应将配置置于root中。原因是根在internet上不可访问。仍然有办法获取内容,但这并不是那么容易。
robots.txt
只是“好乌鸦”的指南。“坏克劳勒”只会无视它的指导,享受信息披露。
<PHP
include('config.php');
$con = mysql_connect(DBHOST.':'. DBPORT,DBUSER,DBPASS);
mysql_select_db(DBNAME, $con);