我正在开发我自己的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 位置进行标头。