如何解决显示无效的有效函数
在 PHPstorm PHP 7.4 中,我正在使用下面的函数,它似乎可以正常运行,但我在第 551 行的控制台中收到以下 EA 错误
[EA] 使用第二个参数来确定所使用的算法是否具有加密强度。
function _token()
{
$random_token = base64_encode(openssl_random_pseudo_bytes(32));
return $_SESSION['token'] = $random_token;
}
这是第 551 行
$random_token = base64_encode(openssl_random_pseudo_bytes(32));
这是红色突出显示
openssl_random_pseudo_bytes
解决方法
如果您阅读 openssl_random_pseudo_bytes()
的手册,您会看到有第二个参数用于确定生成的值是否“加密强”:
如果传递给函数,这将包含一个布尔值,用于确定所使用的算法是否“加密强”,例如,可以安全地与 GPG、密码等一起使用。如果是,则为 true,否则为 false
您需要传递此参数,然后检查是否为真(因此可以使用该值):
function _token()
{
$random_token = base64_encode(openssl_random_pseudo_bytes(32,$strong));
if (!$strong) {
// deal with the token not being "cryptographically strong"
throw new RuntimeException('Token is not cryptographically strong');
}
return $_SESSION['token'] = $random_token;
}
对我来说,PHPStorm 仍然显示该错误,但这就是它试图告诉您的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。