2013-05-23 3 views
-2

나는 이것이 어리석은 것처럼 들리 겠지만이 문제를 해결할 방법을 찾지 못했습니다.모바일 앱의 서버 URL을 보호하십시오.

모바일 앱이 있습니다.이 앱에서 항목을 구매 한 후 서버에서 항목을 다운로드 할 수 있으므로 사용자가 기기에 파일을 다운로드하도록 안내합니다. 문제는 너무 똑똑하지 않은 사람이라 할지라도 파일의 URL을 얻는 것이 매우 쉽다는 것입니다. 따라서 구매하지 않고도 똑똑하지 않은 사람은 결국 동일한 파일을 무료로 다운로드 할 수 있습니다 (일반적인 브라우저).

내가 사용하는 언어 (여기서는 중요하지 않지만 JavaScript, Java, Objective-C 등) 이외에도 인증 시스템을 개발하지 않고 어떻게이 문제를 예방할 수 있습니까?

+0

IIRC, 앱 내에서 IAP 외부에서 구매할 경우 UX 가이드 라인을 통과하지 못합니다. –

+0

콜 (Cole), 확실하지는 않지만 애플 (도서관/신문사) 스토어에서 PDF 파일을 다운로드하려면 파일이 서버에 있어야하며 사과가 아니어야합니다. 그러나 나는 틀릴 수 있습니다. – ContentiousMaximus

답변

0

성공적인 구매를위한 토큰을 생성하여 서버 측 세션 또는 데이터베이스에 저장하십시오. 토큰을 파일 다운로드 요청에 대한 쿼리 문자열 매개 변수로 추가하십시오. 토큰의 유효성을 검사하기 위해 파일 다운로드 요청에 대한 필터를 구현하십시오.

URL이 공유 할 수 없는지 확인하려면 쉽게 스푸핑 할 수없는 기기의 고유 속성 인 hash (url, token, 고유 속성)을 찾아 URL에 추가하십시오.

+0

확인. 일종의 임시 토큰을 갖는 것이 좋은 생각일까요? – ContentiousMaximus

+0

예, 임시 토큰을 사용하는 것이 좋습니다. 유일한 문제는 사용자가 나중에 다운로드 할 수 있어야하는 이유로 다운로드가 실패한 경우 성공적인 구매 후 만료 시간이이를 고려해야한다는 것입니다. – gkamal

관련 문제