2013-02-04 2 views
0

내 Android 앱은 내 웹 공간에서 이미지를 다운로드합니다. 나는 SSL이 없다. 사용자가 이미지가 저장된 위치를 볼 수 없도록하고 싶습니다. 이미지가있는 폴더는 .htaccess를 통해 보호되어야합니다. 그래서 나는 PHP 스크립트에 GET 요청을 보내고 이미지를 수집하고 안드로이드 클라이언트에 응답합니다.PHP를 통해 http GET을 전달합니다.

포워딩을 수행하는 방법에 대한 힌트를 누군가 줄 수 있습니까?

+0

HTTPS 여부에 관계없이 누구나 이미지를 저장할 위치를 파악할 수 있습니다. 게다가, PHP 스크립트가 이미지에 도달 할 수 있다면 PHP 스크립트의 요점은 무엇입니까? – Brad

+0

나는 그것을 서버에서 로컬로 검색하고 PHP 스크립트를 통해 제공하는 것을 고려했다. http get에는 Übername Pass 및 Nonce의 MD5가 포함됩니다. 그래서 PC를 통해 당신은 PHP – tobias

+0

@tobias에 접근 할 수 없습니다. 사람들이 이미지를 직접받는 대신 스크립트를 통해 이미지를 얻을 수 있습니다. 이 시스템을 "안전"하게 만들 수는 없습니다. –

답변

1

이렇게하는 좋은 방법은 이미지를 웹 루트 외부에 보관하는 것입니다. 이렇게하면 URL로 이동하여 액세스 할 수 없습니다. PHP에서는 다음과 같이 할 수 있습니다 :

//Check username/whatever 

//Decide what file we want 
$theFile = getTheFile(); 

//Display the file 
header('Content-Type: image/jpeg'); 
readfile('../not/web/accessible/'.$theFile); 
die(); 
0

다른 곳에서 무언가를 다운로드하려면 curl을 사용하십시오. 다운로드 한 컨텐츠를 서버에 캐시해야합니다. $ _GET 및 $ _SERVER 변수에서 GET 요청을 재구성하는 것은 쉽습니다. 링크 된 페이지의 예를 따르십시오.

하지만 "reverse proxy"을보고 싶다고 생각합니다. 이 작업에는 기존의 엔터프라이즈 품질 솔루션이 있습니다.

관련 문제