2010-03-25 2 views
1

내 서버의 파일에서 데이터를 가져 오는 App을 만들고 있습니다. 이 파일은 URL을 통해 전달되는 GET 값을 기반으로 데이터베이스에서 데이터를 가져옵니다.iPhone App 용 데이터 피드 보호

저는이 피드를 닫지 않게하고 싶습니다. 즉, 사람들이 데이터 소스를 찾고 독자적으로 데이터를 읽는 것을 원하지 않습니다. 나는 URL 문자열과 함께 영숫자 ID를 전송하는 것을 고려했지만, 내가 부르고있는 URL을 찾을 수 있다면 영숫자 id를 붙잡을 수있는 아무 것도 없을 것이다.

여기에서 나를 도울 수있는 아이디어 나 경험을 찾고 있습니다.

답변

2

완벽하게 보호하지는 않지만 데이터 전송을 자연스럽게 관찰하지 못하도록 HTTPS를 사용할 수 있습니다.

피드를 검색하려면 사용자 로그인을 요구할 수도 있습니다. 계정 값으로 장치의 UDID를 사용하여 사용자 등록 프로세스를 단계별로 수행 한 다음 사용자에게 암호를 묻는 것이 상대적으로 쉽습니다. 이 방법은 여전히 ​​악의적 인 개인에 의해 악용 될 수 있지만 일단 사용자 계정을 도입하면 요청을 조절할 수 있습니다.

URL 문자열에 guid 또는 해시를 사용하여 임시 관찰자가 가능한 모든 값을 반복하여 데이터베이스를 다룰 수 없도록 할 수 있습니다.

+0

처음으로 앱을 다운로드 할 때 누군가의 UDID를 자동으로 가져 오는 방법이 없다고 가정하고 있습니까? UDID를 사용자 코드로 사용하여 앱을 다운로드하는 각 사용자별로 사용자를 만들 수 있다고 생각합니다. 암호는 필요하지 않지만 다른 사람의 UDID가 데이터에 미친 양의 전화를 걸면 잘라낼 수 있습니다. 그러나 UDID가 없을 때마다 사용자 계정을 자동 생성하는 코드가 있으면 매번 새로운 사용자를 생성하도록 모든 일을 회피 할 수 있습니다. – Chris

+0

앱 스토어에서 가져올 수는 없지만 앱이 처음 실행될 때'[[UIDevice currentDevice] uniqueIdentifier]'를 호출하면 전화에 대한 GUID가 반환되어 서버로 전송할 수 있습니다. – jessecurry

+0

그게 효과가 있지만 요점은 내가 사용자가 자신의 장치에서 자신의 UDID를 보내도록 허용한다면 누군가가 데이터 소스의 URL을 가져 와서 위조 된 UDID를 보낼 수 있다는 것입니다. – Chris

0

사람들이 피드를 읽지 못하게하는 방법은 없습니다. 난독화할 수 있지만 근본적인 문제는 누구나 앱을 다운로드하여 데이터를 숨기려는 비밀을 알아낼 수 있다는 것입니다.

그러나 캐주얼 관찰자로부터 숨길 수있는 것은 앱의 코드 세그먼트에 키를 저장 한 다음 (TLS 링크를 통해) 키를 서버에 전달하면 액세스 권한이 부여됩니다.