如果密码正确,PHP 从另一台服务器下载.zip文件


PHP download .zip file from another server if the password is correct

我正在开发我自己的CMS。我将CMS的最新更新放入服务器上的更新文件夹中,文件名为update.zip。

有没有办法让我调用更新服务器上带有变量的 PHP 文件,例如 http://updateserver.com/update.php?pass=JDFSDH324723HDSFSDJFDSHSD3

如果通行证正确,那么系统可能会下载.zip文件?

或者,如果你们能想到更好的方法来制作更新系统,我愿意接受建议:)

在更新服务器上:

<?php
if ($_GET['pass'] == $thepassword) {
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: '.filesize($zipfile));
    header('Content-Type: application/zip');
    readfile($zipfile);
    exit();
}
else {
    echo 'error';
}
?>

我不建议在这里使用密码。如果您正在尝试制作可以自我更新的CMS,例如某些CMS,则最好使用匿名下载,不要检查谁下载了它。

如果您的目标是让人们为此付费,您最好在服务器端为每个客户端注册一个密钥。然后,当他们连接到更新时,他们将发送密钥,如果她在您的数据库中且有效,则输出您的 zip 文件。如果没有,你就不会。

如果您的CMS是供私人使用或您的公司使用的,我认为匿名下载会更好,因为您不应该将更新URL提供给任何人。

另外,不要使用函数 readfile ,只需对 zip 位置进行标头。