我正在使用nginx反向代理绑定到mysql数据库存储。我需要为反向IMAP / SMTP代理编写身份验证服务。 nginx wiki上有两个例子可以绑定到大多数db,一个嵌入式perl和一个php脚本。我不熟悉perl,因为我的http使用php绑定到使用PDO语句的mysql,我对这里看到的php脚本感觉更舒服:
http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
我的问题是我不知道我需要在函数内输入什么,因为它只是提到将你的逻辑放在这里。如果向下滚动一下,您将看到两个函数:function authuser和getmailserver。这些是否应该是PDO准备语句以选择LIMIT 1的电子邮件?
非常感谢任何帮助。
答案 0 :(得分:0)
这些应该是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';
}