我需要在PHP应用程序中保存第三方应用程序密码,以便在后台进程中连接到API。我需要将密码存储在数据库中,密码适用于应用程序的每个用户。但是我不知道保存它以便在之后检索它的正确方法是什么。
我不想在没有加密的情况下保存密码,但我不知道哪种方法最好(也很简单)
有什么想法吗?
答案 0 :(得分:2)
除非为API提供某种OAuth机制,否则您也可以将其存储为纯文本格式。一旦攻击者可以访问加密形式的密码,他们就有可能访问解密密码的代码。
我首选的方法是:
inc.credentials.php
<?php
$app_creds = array(
'username' => 'sammitch',
'password' => 'isgreat'
);
actual_code.php
<?php
require('inc.credentials.php');
app_login($app_creds['username'], $app_creds['password']);
unset($app_creds);
?>
,以免意外输出任何内容。 [很可能是空白] unset()
主要是偏执狂,但只是代码注入。