我们正在使用PHP创建一个应用程序,并使用一些需要秘密API密钥的第三方服务。 我们有一个PHP文件,其中包含我们随后导入的所有密钥定义(使用require_once)。
这种方法安全吗?我们应该将钥匙存放在不同的地方吗?
谢谢。
答案 0 :(得分:13)
Something similar提供一个shell脚本。答案在这里也是有效的:确保将文件存储在Web根目录之外,或者(如果不可能)使用.htaccess
文件保护它。
我还希望unset()使用后包含敏感数据的任何变量,因此即使在该脚本后面的完整变量转储(例如在调试消息中)也不能显示它。
答案 1 :(得分:3)
只要无法从网络访问该文件,它应该是相对安全的。许多网站会将敏感文件放在服务器上的webroot之外,并在需要时将它们包含在应用程序中。
答案 2 :(得分:3)
我总是设置包含敏感数据的证书和其他文件的权限,这样只有我的开发团队和apache服务才能访问该文件。如果您使用的是大型组织(如大学)共享的服务器,这一点非常重要,因为默认情况下很多人可能拥有该文件的权限。我经常看到给每个人的读取权限,以便Web服务器可以访问该文件(因为它既不是文件的所有者也不是组的权限,唯一剩下的就是给“其他”读取。)< / p>
相反,我确保有一个只包含我的开发团队的组,并将该文件的读/写权限设置为该组。然后,我使用ACL为APACHE服务添加读取权限。您必须使用ACL,因为所有者和组通常设置为开发人员和开发团队组,除了使用ACL之外,您无法为apache设置访问权限。
答案 3 :(得分:0)
混淆的安全性:
php.ini
中的 auto_prepend_file 添加到/usr/share/nginx/outsidehtml/keystorage/83738489384828838227.php print_r(glob('/usr/share/nginx/outsidehtml/keystorage/*.*'));
button.navbar-toggle
disable_class = ReflectionFunction disable_function = opcache_get_status,phpinfo,show_source,ini_get <强> TEST 强>
<nav class="navbar navbar-default navbar-custom navbar-fixed-top no-print">
<div class="container-fluid">
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#/">mysite</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="home">Home</a>
</li>
<li>
<a href="item1">item1</a>
</li>
<li>
<a href="item2">item2</a>
</li>
<li>
<a href="item3">item3</a>
</li>
<li>
<a href="item4">item4</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">item5</a>
<ul class="dropdown-menu">
<li>
<a href="item5.1"><i class="fa fa-search" aria-hidden="true"></i> item5.1</a>
</li>
<li>
<a href="item5.2"><i class="fa fa-th-list" aria-hidden="true"></i> item5.2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>