0

我正在尝试在两台服务器之间进行某种通信(可以称为许可证验证)。

已经得到这个:

索引.php

if ($verification == 1) {
    echo "license validated";
}
else {
    echo "this license key does not exist.";
}

验证.php

$license_key = mysql_real_escape_string($_GET['license_key']);

$query = "SELECT license_key FROM users WHERE license_key = '$license_key'";
$mysqli = new mysqli();
$mysqli->connect($db_hostname, $db_username, $db_password, $db_name);
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}
$result = $mysqli->query($query);
$row_cnt = $result->num_rows;
if ($row_cnt == 1) {
    return true;
}
else {
    return false;
}

我想不通的是如何将该请求从 index.php 发送到 validate.php (这两个文件不在同一服务器中)以及如何返回 index.php 信息它返回的内容(真或假)。

4

2 回答 2

0

可能最简单的方法是设置服务。这是众多教程之一。

例如,假设验证服务器的主机名为 val.com。您可以在那里设置一个服务,如下所示:

val.com/validation/validate?dataToValidae=<validationString>

如果您不希望它被拦截,请务必通过 SSL 发送请求。

然后,无论验证是否成功,您都可以让服务返回,然后在您的代码中检查它。

于 2012-12-21T22:52:42.883 回答
0

使用 file_get_contents:

$verify_result = file_get_contents("http://validation.domain.com/validate.php?license_key=$key");
if ($verify_result == 'license validated') {
  ...
}
于 2012-12-21T22:53:49.690 回答