在php文件中存储密钥

时间:2012-02-17 08:15:24

标签: php security amazon-web-services amazon

我在php应用程序中使用Amazon Web服务。将秘密aws访问令牌存储在链接到我的php web服务的config.php文件中是否安全?

我无法下载文件来查看内容,但是不可能使用数据包嗅探器或其他东西并且能够读取密钥并传递短语吗?

我知道亚马逊建议使用令牌自动售货机来创建临时凭证,而不是直接使用aws信用卡,但我们希望能够跳过实施一个。

4 个答案:

答案 0 :(得分:3)

就“下载PHP文件”而言,Apache会阻止这种情况发生,但你绝对应该将PHP文件存储在文档根目录之外,这样首先就无法访问它(并且需要()如果需要,它在服务器端)。

就“数据包嗅探”而言,安全连接可防止这种情况发生。只需确保您使用的是HTTPS。

答案 1 :(得分:1)

没有。在将内容传送到客户端之前,脚本仅在服务器端运行是不可能的。

唯一可能的违规行为是,如果有人入侵服务器本身,并从文件系统中窃取该文件。

答案 2 :(得分:1)

除非你的config.php文件在运行时输出令牌,否则你应该是安全的。为了采取额外的预防措施,您可以将config.php文件放在网站的根目录下,这样用户甚至无法尝试运行该文件。

您的php正在服务器上执行,只要没有输出发送到包含令牌的客户端,该文件的内容将永远不会发送到客户端。因此,他们无法读取文件,因为内容永远不会离开服务器,只是运行脚本的输出。

答案 3 :(得分:-1)

除了上述建议(将您的配置存储在网站的公共目录之外),它是一种加密密码/秘密的好方法,而不是将它们作为纯文本存储在任何地方(特别是在使用非PHP文件时)用于存储.env*.yml等密码。通过错误配置Web服务器,提交给Github等,很容易暴露易受攻击的数据。

更多阅读:https://blog.fortrabbit.com/how-to-keep-a-secret