2012-06-27 2 views
0

저는 자체 CMS를 만들고 있습니다. CMS의 최신 업데이트를 서버의 업데이트 폴더에 넣었으며 파일 이름은 update.zip입니다.암호가 맞으면 PHP가 다른 서버의 .zip 파일을 다운로드합니다.

변수가있는 업데이트 서버에서 PHP 파일을 예로 들어 보겠습니다. http://updateserver.com/update.php?pass=JDFSDH324723HDSFSDJFDSHSD3

패스가 정확하면 시스템에서 .zip 파일을 다운로드 할 수 있습니까? 너희들은 내가 제안 : 업데이트 서버에

+2

왜 암호가 필요합니까? – mensi

+0

"master"서버에 스크립트를 작성하여 적절한 암호 변수와 함께 호출 된 경우에만 zip 파일의 내용을 출력 할 수 있습니다. 매우 간단합니다 :'($ _GET [ 'pass'] == CORRECT_PASSWORD) {readfile ('update.zip');}' – bububaba

+0

또한 "왜 암호가 필요합니까?" – nathan

답변

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'; 
} 
?> 
+0

정확히 내가 무엇을 찾고 있었습니까. 고마워요 :) –

1

나는 암호를 사용하는 것이 좋습니다 않을 것이다 이리. 일부 CMS처럼 자체적으로 업데이트 할 수있는 CMS를 만들려고하면 익명 다운로드를 사용하고 누가 다운로드할지 선택하지 마십시오.

사람들이 돈을 지불하게하려는 경우 각 클라이언트에 대해 서버 측에 키를 등록하는 것이 좋습니다. 그런 다음 업데이트에 연결하면 키를 보내고 데이터베이스에 있고 유효하고 Zip 파일을 출력합니다. 그렇지 않다면, 당신은하지 않습니다.

CMS를 개인용 또는 회사 용으로 사용하는 경우 업데이트 URL을 다른 사람에게 제공하지 않는 것이므로 익명 다운로드를 사용하는 것이 좋습니다.

또한 readfile 기능을 사용하는 대신 zip 위치로 헤더를 지정하십시오.

+0

당신은 익명 다운로드에 대해 이야기하고 있습니다 ... 어떻게 그게 정확히 작동합니까? –

+0

@IlyaKarnaukhov 전혀 암호가 없습니다. –

+0

아, PHP에서 PHP로 다운로드한다고 말하면 헤더의 우편 번호를 바로 다운로드 할 수 있습니까? –

관련 문제