Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在我的应用程序中保存第三方应用程序的密码以与api一起使用?_Php_Codeigniter - Fatal编程技术网

Php 如何在我的应用程序中保存第三方应用程序的密码以与api一起使用?

Php 如何在我的应用程序中保存第三方应用程序的密码以与api一起使用?,php,codeigniter,Php,Codeigniter,我需要在PHP应用程序中保存第三方应用程序密码,以便在后台进程中连接到API。我需要将密码存储在数据库中,并且该密码是针对应用程序的每个用户的。但我不知道什么是正确的方法来保存它,以便在以后检索它 我不想在不加密的情况下保存密码,但我不知道哪种方法是最好的(也很简单) 有什么想法吗?除非API有某种OAuth机制可用,否则最好将其存储为纯文本。一旦攻击者能够访问密码的加密形式,他们就很可能能够访问解密密码的代码 我比较喜欢的方法是: inc.credentials.php <?php $a

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

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


有什么想法吗?

除非API有某种OAuth机制可用,否则最好将其存储为纯文本。一旦攻击者能够访问密码的加密形式,他们就很可能能够访问解密密码的代码

我比较喜欢的方法是:

inc.credentials.php

<?php
$app_creds = array(
  'username' => 'sammitch',
  'password' => 'isgreat'
);

我需要将密码存储在数据库中,并且密码是针对应用程序的每个用户的,而不仅仅是出于管理目的。你会怎么做?但这是一个伟大的方法@Sangar82我的观点仍然是关于明文的,但这不是一个好主意,因为现在,你有了一个包含所有用户密码的数据库,而不是有可能丢失密码。唯一好的答案是使用OAuth令牌或类似的东西,但是如果API不支持它,那么您就无能为力了。您当然可以降低一个小的SQL注入将暴露密码的可能性,但是如果有人进入页面的源代码,这一切都会暴露出来。
<?php
require('inc.credentials.php');
app_login($app_creds['username'], $app_creds['password']);
unset($app_creds);