Php 通过HTTP Post进行Inno设置密码验证
是否有人可以在Inno设置中帮助验证密码,我目前在这个网站上找到了以下Inno设置代码,我想做的是对照服务器上保存的密码检查密码 我有一个包含MySQL代码的PHP页面来检查数据库,如果找到密码,它将发送一个“Correct”响应 如果未找到密码,则返回“Password Denied” 我认为问题在于安装程序没有在WinHttpReq.Send password部分发送密码 我在下面包含了Inno设置代码和PHP代码 如果我在密码中输入真实密码 如果password='Truney License'得到正确响应,安装将继续Php 通过HTTP Post进行Inno设置密码验证,php,inno-setup,pascalscript,Php,Inno Setup,Pascalscript,是否有人可以在Inno设置中帮助验证密码,我目前在这个网站上找到了以下Inno设置代码,我想做的是对照服务器上保存的密码检查密码 我有一个包含MySQL代码的PHP页面来检查数据库,如果找到密码,它将发送一个“Correct”响应 如果未找到密码,则返回“Password Denied” 我认为问题在于安装程序没有在WinHttpReq.Send password部分发送密码 我在下面包含了Inno设置代码和PHP代码 如果我在密码中输入真实密码 如果password='Truney Licen
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 !");
}
我最终想发送两个信息位进行验证,但我想让上述工作首先
我将非常感谢您的帮助
服务器主机名在哪里?如果您没有指定密码应该发送到哪里,这怎么可能工作
WinHttpReq.Open'POST','https://www.example.com/website.php",假,;
您按原样发送密码。当您指定内容类型为application/x-www-form-urlencoded时。此内容类型具有特定格式,必须至少包含参数名称。否则PHP怎么知道字段名为password
WinHttpReq.Send'password='+password;
但要使其正确工作,还必须对密码进行URL编码
更简单的方法可能是按您现在的方式编写密码,并在服务器端读取原始请求数据:
$password=file\u get\u contentsphp://input;
您确实需要保护您的服务器端代码不受攻击
您应该仅出于安全考虑发送密码校验和。例如,使用
副作用是,使用校验和,您不必关心URL编码,因为校验和不会包含任何特殊字符
服务器主机名在哪里?如果您没有指定密码应该发送到哪里,这怎么可能工作
WinHttpReq.Open'POST','https://www.example.com/website.php",假,;
您按原样发送密码。当您指定内容类型为application/x-www-form-urlencoded时。此内容类型具有特定格式,必须至少包含参数名称。否则PHP怎么知道字段名为password
WinHttpReq.Send'password='+password;
但要使其正确工作,还必须对密码进行URL编码
更简单的方法可能是按您现在的方式编写密码,并在服务器端读取原始请求数据:
$password=file\u get\u contentsphp://input;
您确实需要保护您的服务器端代码不受攻击
您应该仅出于安全考虑发送密码校验和。例如,使用
副作用是,使用校验和,您不必关心URL编码,因为校验和不会包含任何特殊字符