我正在开发自己的 CMS。我将 CMS 的最新更新放入服务器上的更新文件夹中,文件名为 update.zip。
有没有办法让我在更新服务器上调用一个带有变量的 PHP 文件,例如http://updateserver.com/update.php?pass=JDFSDH324723HDSFSDJFDSHSD3
如果通行证正确,那么系统可能会下载 .zip 文件?
或者,如果你们能想出一种更好的方法来制作更新系统,我愿意接受建议:)
我正在开发自己的 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 位置添加标题即可。