http webservice를 사용하여 서버에 데이터와 명령을 보내는 안드로이드 및 ios 응용 프로그램이 있습니다. 가짜 클라이언트가 서버에 무언가를 보낼 수있는 가능성을 어떻게 막을 수 있습니까? 데이터/명령이 실제로 우리의 애플 리케이션에서 오는 경우 어떻게 serversidely 결정할 수 있습니다.ios 응용 프로그램의 "fake-client"금지
답변
당신은 정말로 그것을 막을 수 없습니다. 귀하의 서비스를 악용하는 사람들을 더욱 어렵게 만드는 몇 가지 기술이 있습니다.
간단한 점검은 웹 서비스를 호출하는 사용자 에이전트를 검사하는 것일 수 있습니다. 또 다른 일반적인 방법은 웹 서버에서 사용자/비밀번호 인증을 통해 간단한 인증을 사용하는 것입니다. 사용자 이름과 비밀번호가 앱에 임베드됩니다.
시간이 충분하다면이 두 가지 방법을 조합하여 사용하고 내장 SSL 인증서로 인증하는 것에 대해 생각해야합니다. 당신은 단순히 프로젝트에 이것을 추가 할 수 있으며, 누군가가 정말로 당신의 서비스를 남용하고 싶다면, 최소한 애플리케이션에서이 인증서를 추출해야합니다.
다른 유용한 기술이 있지만 리버스 엔지니어링 또는 네트워크 스니핑을 방지 할 수 없습니다.
감사
, fuxx이외에도 서버에서 주기적으로 임의의 인증 토큰을 생성하고 푸시를 통해 클라이언트에 보낼 수 있습니다. 매시간 말하십시오. 클라이언트는이 토큰을 사용하여 웹 서비스를 호출해야합니다. – HeikoG
oAuth를 구현합니다. 이러한 솔루션을 구현하는 방법에 대한 자세한 내용은 the following link을 참조하십시오.
oAuth를 사용하면 모바일 앱이 클라이언트 비밀 정보 (비밀 정보)를 비밀로 유지할 수 있다고 가정 할 수 없으므로 oAuth를 사용하여이 문제를 해결할 수있는 방법을 알지 못합니다. 앱의 클라이언트 자격증 명과 위조가 될 수 있습니다. – KFL
당신은 할 수 없습니다. 그것은 간단합니다 ...
가장 강력한 솔루션은 시도하지 않아야합니다. DasFuxx의 답변과 같은 기법을 사용하면 희미하게 어려워 질 수 있지만 누군가는 항상 응용 프로그램을 디 컴파일하여 포함 된 비밀 정보를 얻을 수 있습니다.
클라이언트를 신뢰하지 마십시오
대신, 멀티 플레이어 게임 개발의 규칙을 따릅니다.
응용 프로그램을 사용자 인터페이스로 생각하지 마십시오. 네트워크 프로토콜/API을 사용자 인터페이스로 생각하십시오. 그런 다음 악용 될 수 없도록 인터페이스를 디자인하십시오.
완전히 그렇게 할 수는 없지만 성공할 경우 진정한 보안을 누릴 수 있습니다 (DRM 시스템과 같은 패배의 싸움이 아닌).
- 1. iOS 응용 프로그램의 TreeView
- 2. ios 응용 프로그램의 템플릿 종류는
- 3. 폰갭 IOS 응용 프로그램의 크기
- 4. iOS 응용 프로그램의 googleDrive 통합
- 5. iOS 응용 프로그램의 빨간색 막대
- 6. iOS - 응용 프로그램의 폴더 애니메이션
- 7. 간단한 iOS 응용 프로그램의 스레드
- 8. 장치에있는 ios 응용 프로그램의 경로
- 9. iOS 응용 프로그램의 기업용 배포
- 10. iOS 응용 프로그램의 Facebook 통합
- 11. blank iOS 응용 프로그램의 QLPreviewController
- 12. iOS 응용 프로그램의 응용 프로그램 저장소 크기
- 13. iOS 응용 프로그램의 기본 파일 구조는 무엇입니까?
- 14. IOS 응용 프로그램의 가상 메모리와 실제 메모리
- 15. iOS 응용 프로그램의 시간 간격 계산
- 16. iOS 응용 프로그램의 언어 설정 변경
- 17. iOS 응용 프로그램의 자동화 된 테스트 방법
- 18. iOS 응용 프로그램의 글꼴이 어디에서나 바뀝니다.
- 19. IOS 응용 프로그램의 흰색 레이블링을 수행하는 방법
- 20. iOS - 응용 프로그램의 아무 곳에서나 흔들림 감지
- 21. iOS 응용 프로그램의 CPU 사용량 분석
- 22. iOS 응용 프로그램의 가장 효율적인 구조
- 23. iOS 응용 프로그램의 uiwebview 양식에 양식 신청
- 24. iOS 응용 프로그램의 FTP 서버에서 파일을 다운로드
- 25. 기존 iOS 응용 프로그램의 시장 변경
- 26. iOS 웹 응용 프로그램의 이미지 메모리 사용량
- 27. 관계형 데이터베이스가있는 iOS 응용 프로그램의 백엔드
- 28. iOS/Android에서 Flex/AIR 응용 프로그램의 성능
- 29. iOS 응용 프로그램의 DropBox에서 문서에 액세스하는 방법
- 30. iOS 응용 프로그램의 XML POST 호출
오해의 소지가 있으므로 Android 태그를 제거하고 싶을 수 있습니다. –
우리는 또한 안드로이드 애플 리케이션을 가지고 있지만 그것을 쓰는 걸 잊어 버렸습니다. – rakete
아직 불분명 한 점이 있습니까? 아니면 질문에 대한 답변입니까? – DasFuxx