Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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 Joomla::在会话中为身份验证桥存储明文密码安全吗_Php_Joomla_Joomla3.0 - Fatal编程技术网

Php Joomla::在会话中为身份验证桥存储明文密码安全吗

Php Joomla::在会话中为身份验证桥存储明文密码安全吗,php,joomla,joomla3.0,Php,Joomla,Joomla3.0,我正在为Joomla 3+开发一个插件和组件,它们将用于与一个API接口,该API要求通过HTTPS REST URL传递明文密码。我不希望用户多次登录,因此我想知道我是否可以(安全地)将他们的密码存储在纯文本会话中 基本上是这样的 身份验证插件: function onUserAuthenticate($credentials, $options, &$response) { $session = JFactory::getSession(); $session->set('pl

我正在为Joomla 3+开发一个插件和组件,它们将用于与一个API接口,该API要求通过HTTPS REST URL传递明文密码。我不希望用户多次登录,因此我想知道我是否可以(安全地)将他们的密码存储在纯文本会话中

基本上是这样的

身份验证插件:

function onUserAuthenticate($credentials, $options, &$response) {
$session = JFactory::getSession();
$session->set('plainpassword', $credentials['password']);
.....
}
public function getItems() {
$session = JFactory::getSession();
$plainpassword = $session->get('plainpassword');
.....
}
组件型号:

function onUserAuthenticate($credentials, $options, &$response) {
$session = JFactory::getSession();
$session->set('plainpassword', $credentials['password']);
.....
}
public function getItems() {
$session = JFactory::getSession();
$plainpassword = $session->get('plainpassword');
.....
}
我可以随机化会话名称,但是还有什么我应该知道的吗


如有任何见解,将不胜感激

正如埃林建议的那样,我最终将加密密码保存到了一个临时表中。

除非你不在乎陌生人是否可以使用它。你是说你想使用Joomla密码吗?绝对不是。如果您在其他地方登录,为什么不共享一个会话并指示用户已通过身份验证,而不是每次都重新发送密码?我不是故意这么说的,如果你要做这样的事情,你需要真正研究身份验证和授权。请记住,您的用户可能在其他地方使用相同的密码,因为我无法控制API。如前所述,它是一个HTTPS REST URL,需要发送密码。这是他们唯一的用户身份验证方法。用户名、密码和ip地址都通过URL发送,并接收授权令牌。从那里,我在第二个URL中使用令牌将用户引导到他们的控制面板。根据我的回答,如果您有更好的想法,我很乐意研究他们。:)好的,这里有一个更好的主意。我可以使用一对加密/解密方法在会话中存储密码的加密版本,然后在需要时对其进行解密吗?这对于每个登录的用户都是唯一的?我要做的是制作一个使用joomla身份验证事件的joomla插件,以便登录到其他应用程序的控制面板。然后储存他们需要的东西。我认为您将使用共享的uname/pass,对吗?我非常怀疑他们的api是否希望您在每次页面加载时重新验证,它希望您执行一次,然后保存一个cookie。如果是https,你不必担心在电线上嗅探,这是一件好事。