php - 为什么将 MySQL 凭据放在 www 目录之外?

标签 php mysql security credentials

<分区>

Possible Duplicate:
Putting core classes above the web root - good or bad idea?

我一直在读到,将 MySQL 连接凭据(无论是类、定义等)放在 Web 根目录之外(在 www 文件夹上方)是最佳做法。

这是为什么?如果凭据位于 .php 文件中,那么该文件是否可通过浏览器访问并不重要,对吧?

最佳答案

这是一种预防措施。如果有人不小心禁用了您的 apache 服务器中的 php 评估或更改了 .htaccess 文件中的 apache 设置,则可以像任何纯文本文件一样提供该文件。或者,如果您不小心忘记了 php 开始标记,它将像纯文本一样重新生成。并不是说您会犯这种愚蠢的错误,而是说将来使用您的代码的新手可能会犯错误。

当你可以阻止它成为可能时,为什么要打开一个可能的向量?只需听取其他已经射中自己的脚(或者像我一样,射中双脚和一只手)的人的建议,并将凭据移到您的文档根目录之外。

关于php - 为什么将 MySQL 凭据放在 www 目录之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976401/

相关文章:

javascript - 验证 Javascript 文件上的签名

php - PDO 准备好的语句是否足以防止 SQL 注入(inject)?

php - paypal/wepay延迟链式支​​付php

java - 存储传递给其他服务的密码

php - 如何避免向每个 .html 页面添加相同的导航栏模板

php - 热门评论 sql查询

php - 将 2 个选择合二为一

sql - 帮助优化简单的 MySQL 查询

php - Laravel 5.3 - 以 orWhere 开头的查询生成器

php - 如何使用 cURL 获取受 .htpasswd 保护的 URL 的 HTTP 代码?