防止脚本在开源PHP项目中窃取密码?

Sha*_*iul 5 php security passwords

我目前正在开发一个PHP框架.其他开发人员可以为框架创建模块.这些模块的源代码应该驻留在框架目录中.

由于项目是开源的,因此模块知道配置文件的位置,其中包含数据库密码.如何保护密码免受恶意模块的侵害?请检查模块可能只是require_once配置文件并做有害的事情!

目前我将数据库密码存储在名为config的目录中,并通过.htaccess文件保护它:

<Directory config>
order allow,deny
deny from all
<Directory>
Run Code Online (Sandbox Code Playgroud)

但这还不足以阻止脚本窃取密码,是吗?

我已经阅读了如何在PHP中保护数据库密码的主题但它没有帮助我找到答案.

Dmi*_*tri 0

不要将实际的配置文件包含在开源项目中。我这样做的方法是仅创建模板配置文件 config.ini.dist

当用户下载您的项目时,他们必须将其重命名为 config.ini 并输入自己的配置信息。

这样每个用户都会有自己的数据库连接信息,例如用户名和密码。此外,当您更新项目并且用户下载最新版本时,他们自己的配置文件不会被您程序中的配置文件覆盖。

这是在开源项目中存储配置的一种非常常见的方法 - 您分发模板配置文件并告诉用户他们必须重命名它并输入自己的配置详细信息。