最近我得到了一个网站项目,应该用PHP完成,但我没有太多的PHP经验。无论如何,它已经启动并运行,但还有很大的改进空间。我感觉不舒服的一件事是我处理数据库的方式:我将数据库连接信息放在一个单独的db.php文件中并在需要的地方包含它。但我记得很多时候看到服务器返回的PHP源文件。
所以现在我的问题是:放置数据库敏感数据的更好或最好的方法/地点是什么?
顺便说一句,当出现问题时,怎么不让PHP在网页上显示错误消息? php.ini中的某个自定义错误页面或设置?谢谢!
注意:我使用PHP的旧风味而不是面向对象的方式。但是,如果有更好的方法为未来的项目做准备,我对面向对象或MVC方式持开放态度
答案 0 :(得分:8)
我不知道这是不是你要找的东西:
您可以将敏感数据放在db.php中,但不在Web根目录(public_html或www)之外。
例如,您可以拥有一个名为config的目录,它是您的Web根目录的兄弟,并将db.php文件存储在那里。
您可以像这样包含db.php文件:
require_once('../config/db.php');
我希望这会有所帮助。
答案 1 :(得分:2)
我个人会创建一个名为db.php的文件,并将其放在服务器上的public_html文件夹上面
例如
<?php
error_reporting(0);
$link = FALSE;
$link = mysql_connect('hostname', 'username', 'password');
if ( ! $link)
{
die("Couldn't connect to mysql server!");
} else {
mysql_select_db('databasename');
}
?>
这会在连接到数据库的同时关闭错误报告,从index.php中你可以包含这样的文件:
<?php require('../db.php'); ?>
答案 2 :(得分:1)
可以将它放在db.php文件中,只需在每个文档的打开require_once()
标记后使用<?php
。
如果basedir限制没有生效,请将db.php文件移到web / ftp root之外,这样就无法通过http / ftp访问它。确保在此文件上正确设置了权限。
由于您没有为代码使用OOP或MVC结构,因此这是最佳路径。