我正在使用Nginx反向代理绑定到mysql数据库存储。我需要为反向IMAP / SMTP代理编写身份验证服务。在nginx Wiki上有两个示例可以绑定到大多数数据库,一个嵌入式perl和一个php脚本。我不熟悉perl,并且由于我的http使用php将PDO语句绑定到mysql,因此我对php脚本更加满意,如下所示:
http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
我的问题是我不完全知道我需要在函数内部输入什么,因为它只是提到将您的逻辑放在这里。如果向下滚动,将看到两个功能:authuser和getmailserver函数。这些应该是PDO准备语句以选择LIMIT 1的电子邮件吗?
希望对此有所帮助。
最佳答案
这些应该是PDO准备声明吗
一般来说-是的
选择带有LIMIT 1的电子邮件?
我很怀疑。您不需要在这里发送电子邮件。对于authuser,您只需要布尔值
function authuser($user,$pass){
global $pdo;
$stmt = $pdo->prepare("SELECT pass FROM users WHERE login = ?");
$stmt->execute([$user]);
$dbpass = $stmt->fetchColumn();
return ($dbpass === $pass); // use whatever hashing here
}
getmailserver必须返回服务器。如果你只有一个
function getmailserver($user) {
return 'server';
}
关于php - nginx auth到mysql后端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23017851/