Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php从其他服务器获取答案并进行操作_Php_Mysql - Fatal编程技术网

使用php从其他服务器获取答案并进行操作

使用php从其他服务器获取答案并进行操作,php,mysql,Php,Mysql,我试图在两台服务器之间进行某种通信(可以称为许可证验证) 已经得到这个: index.php if ($verification == 1) { echo "license validated"; } else { echo "this license key does not exist."; } validate.php $license_key = mysql_real_escape_string($_GET['license_key']); $query = "SEL

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

已经得到这个:

index.php

if ($verification == 1) {
    echo "license validated";
}
else {
    echo "this license key does not exist.";
}
validate.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返回的信息(true或false)。

最简单的方法可能是设置服务。这里有很多教程

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

val.com/validation/validate?dataToValidae=

如果不希望被拦截,请确保通过SSL发送请求

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

使用文件获取内容:

$verify_result = file_get_contents("http://validation.domain.com/validate.php?license_key=$key");
if ($verify_result == 'license validated') {
  ...
}

在数据库连接中使用纯文本密码连接到另一台服务器不是最好的方法,因为同一个域上的两个服务器子域是相同的?index.php在一台服务器上(domain.com 92.142.293.42),validate.php在另一台服务器上(domain1.com 95.213.231.21)。这些IP只是为了说明这些文件位于不同的服务器上。是的,我有点这样认为。此外,如果两台主机不同,您可能需要研究类似jsonp的内容。