我正在使用我自己的CMS。我将CMS的最新更新放入服务器上的更新文件夹中,文件名为update.zip。
有没有办法让我在更新服务器上调用一个带有变量的PHP文件,例如http://updateserver.com/update.php?pass=JDFSDH324723HDSFSDJFDSHSD3
如果传递正确,那么系统可能会下载.zip文件吗?
或者,如果你们能想出更好的制作更新系统的方法,我愿意接受建议:)
答案 0 :(得分:2)
在更新服务器上:
<?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';
}
?>
答案 1 :(得分:1)
我不建议在这里使用密码。如果您正在尝试创建可以自我更新的CMS,例如某些CMS,则最好使用匿名下载,不要检查是谁下载它。
如果您的目标是让人们为此付费,那么最好在服务器端为每个客户注册一个密钥。然后,当他们连接到更新时,他们将发送密钥,如果她在您的数据库中并且有效,则输出您的zip文件。如果没有,你就不会。
如果您的CMS是供私人使用或您的公司,我认为匿名下载会更好,因为您不打算将更新网址提供给任何人。
此外,不要使用函数readfile
,只需在zip位置执行标题。