我正在使用我自己的CMS。我將CMS的最新更新放入服務器上的更新文件夾中,文件名爲update.zip。如果密碼正確,PHP將從另一臺服務器下載.zip文件
有沒有辦法給我打電話讓我們說更新服務器上的一個PHP文件, http://updateserver.com/update.php?pass=JDFSDH324723HDSFSDJFDSHSD3
如果通過是正確的,那麼系統可以下載.zip文件?
或者,如果你們能想到做一個更新系統的更好的方法,我開放的建議:)
我正在使用我自己的CMS。我將CMS的最新更新放入服務器上的更新文件夾中,文件名爲update.zip。如果密碼正確,PHP將從另一臺服務器下載.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,則可以使用匿名下載,而不要檢查是誰下載的。
如果您的目標是讓人們爲它付出代價,那麼最好在每個客戶端的服務器端註冊一個密鑰。然後,當他們連接更新時,他們會發送密鑰,如果她在數據庫中且有效,則輸出您的zip文件。如果沒有,你不會。
如果您的CMS用於私人用途或您的公司,我認爲匿名下載會更好,因爲您不會將更新網址提供給任何人。
此外,代替使用功能readfile
,只需向zip位置做一個標頭即可。
你在談論匿名下載....這是如何工作的? –
@IlyaKarnaukhov根本沒有密碼。 –
嗯,我只是告訴PHP從PHP下載,它會下載標題的壓縮原因吧? –
爲什麼你需要密碼? – mensi
您可以在「主」服務器上編寫腳本,該腳本只有在使用正確的密碼變量調用時纔會輸出zip文件的內容。非常簡化:'if($ _GET ['pass'] == CORRECT_PASSWORD){readfile('update.zip');}' – bububaba
也是「你爲什麼需要密碼」? – nathan