如何在我的应用程序中保存第三方应用程序的密码以用于api?

时间:2013-02-21 21:22:22

标签: php codeigniter

我需要在PHP应用程序中保存第三方应用程序密码,以便在后台进程中连接到API。我需要将密码存储在数据库中,密码适用于应用程序的每个用户。但是我不知道保存它以便在之后检索它的正确方法是什么。

我不想在没有加密的情况下保存密码,但我不知道哪种方法最好(也很简单)

有什么想法吗?

1 个答案:

答案 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);
  1. 始终使用通过PHP解释程序运行的文件扩展名,以便该文件不会作为纯文本提供。
  2. 始终不要关闭?>,以免意外输出任何内容。 [很可能是空白]
  3. unset()主要是偏执狂,但只是代码注入。