【发布时间】:2020-04-17 17:51:33
【问题描述】:
有人可以帮助验证 Inno Setup 中的密码吗,我目前有以下 Inno Setup 代码(可在此站点上找到),我想做的是根据服务器上保存的密码检查密码。
我有一个包含 MySQL 代码的 PHP 页面来检查数据库,如果找到密码,它将发送“正确”的响应 如果未找到密码,则返回“密码被拒绝”。
我认为问题在于设置未在WinHttpReq.Send(密码)部分发送密码。
我在下面包含了 Inno 设置代码和 PHP 代码。
如果我在代码中输入了真正的密码
WHERE password='genuine licence'我得到了正确的响应,安装继续。
function CheckPassword(Password: String): Boolean;
var
returnvalue: boolean;
WinHttpReq: Variant;
begin
result := false;
MsgBox (password, mbInformation, MB_OK); //show entered password before send
WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpReq.Open('POST', 'website.php', false);
WinHttpReq.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
WinHttpReq.Send (Password);
if WinHttpReq.ResponseText = 'Correct !' then
result := true;
if WinHttpReq.ResponseText = 'Access Denied !' then
result := false;
end;
还有 PHP 代码
$password = $_POST["password"];
$sql = "SELECT * FROM clients WHERE password='$password'";
if ($result=mysqli_query($conn,$sql))
{
$rowcount=mysqli_num_rows($result);
if($rowcount ==0)
{
die("Password Denied !");
}
if($rowcount==1)
{
die("Correct !");
}
我最终想发送两条信息进行验证,但我想先完成上述工作。
非常感谢您的帮助。
【问题讨论】:
标签: php inno-setup pascalscript