2015-01-25 3 views
2

서버 및 모바일 앱에서 사용할 수있는 알고리즘 또는 집합은 서버가 특정 지역의 경계 내에서 사용되는 것을 항상 상당히 확신 할 수있게 해줍니다 (예 : 국가)? 정의 된 영역 밖에있는 앱 사용자가 지역 내부에 있다고 잘못 주장 할 수 없도록 서버에서 어떻게 보장 할 수 있습니까?모바일 앱으로 위치 소유권 주장을 안전하게 확인하기

답변

1

사용자가 가짜 위치를보고하지 않는다고 확신 할 수 없으므로 가능한 한 가짜 프로세스로만 위장 할 수 있습니다. (사용자가)

2) 장치의 GPS 좌표는 (그들이 스푸핑 할 수 있습니다) 프록시를 사용

3 수

1) 사용자의 IP 주소 : 당신은 당신이 접근 할 수있는 데이터에 따라 여러 가지 검사를 구현해야합니다) 기기의 로케일 (신뢰할 수있는 표시기가 아님)

가장 안전한 수표 중 하나 (100 %가 아님)는 사용자에게 앱에 입력해야하는 확인 코드가있는 SMS를 보내고 있습니다.

저에게 알려진 가장 정교한 알고리즘 중 하나는 Google Play (일부 앱은 특정 국가에서만 사용 가능)입니다. IP 주소, 사용자의 이동 통신사 및 기타 여러 매개 변수를 확인하지만 도구 (예 : Market Enabler)와 시스템을 트릭 할 수있는 기술이 있습니다.

+0

SMS는 그가 국내에 있는지 여부를 어떻게 알 수 있습니까? –

+0

@JordanDimov 특정 국가 코드로 시작하는 번호에만 확인 코드를 보낼 수 있습니다. 사용자 계정을 활성화 할 때 한 번만 수행해야합니다. 그렇게하면 모든 사용자가 해당 국가의 활성 SIM 카드를 소지하고 있는지 확인할 수 있습니다. 사용자는 해당 국가로 여행하여 로컬 SIM 카드를 받거나 해당 국가의 누군가에게 확인 SMS를 받도록 요청할 수 있지만이 확인은 보안을 크게 향상시킬 수 있습니다 (모든 연결 중에 IP 주소와 같은 다른 검사가 구현되는 경우). – bzz

1

Google Play 또는 다른 방법을 사용하지 않으려면 가장 좋은 방법은 성능이 현저하고 비용이 많이 들지 않기 때문에 가장 좋은 방법입니다. 둘째로 사용하기 쉽고 세 번째로 필요할 것입니다. 좋은 도구와 정적 캐시, 최적화 도구, 분석, 사용자 차단, 국가 차단 등을 제공하는 사용자가 많을 것으로 예상하는 경우 cloudflare을 사용하는 것입니다.

무료 클라우드 플레어 계정에 가입하면 서버 공용 IP 주소를 설정하여 모든 트래픽이 클라우드 플레어 프록시 네트워크를 통과하도록 할 수 있습니다.

모든 것이 아주 간단하다면 서버에 cloudflare module을 설치할 수 있습니다.

앱에서 PHP의 $ _SERVER [ 'HTTP_CF_IPCOUNTRY']와 같이 글로벌 서버 요청 변수 HTTP_CF_IPCOUNTRY에서 방문자의 국가 코드를 가져올 수 있습니다. 호주에 AU를 줄 것입니다. (iso-3166-1 국가 코드). 그것은 당신이 사용하는 언어가 중요하지 않습니다.

Coudflare IP 데이터베이스는 자주 업데이트되며 성능 오버 헤드없이 사용자의 위치 정보를 감지하는 데 매우 안정적으로 보입니다.

당신은 또한 공격에서 무료로 보호를받을 빠른 로딩 무료 캐시 및 CDN 기능을 얻을 등

나는 여러 가지 다른 방법을 사용했지만 그들 중 누구도 확실히 믿을 수 없었다.

응용 프로그램이 서버없이 실행되는 경우 파일을 서버에 저장하고 원격 URL을 호출하여 요청할 때마다 사용자의 국가를 가져옵니다.

0

@bzz에서 언급 한 것과 별개로 당신은 사용자 wifi 네트워크의 wifi SSID를 읽을 수 있습니다. http://www.skyhookwireless.com/과 같은 서비스는 wifi SSID를 제출하여 위치를 얻는 데 사용할 수있는 api (브라우저 플러그인과 같다고 생각합니다.)를 제공합니다. 사용자가 특정 지역에 있어야하는 경우 앱을 사용할 때 항상 모든 옵션을 함께 사용하게됩니다. 한 번만 확인해야 할 경우를 대비하여 SMS 기반 접근 방식이 가장 좋습니다.

(Wi-Fi SSID 액세스 용) this을 참조하십시오. 아직 100 % 확신 할 수 없습니다.

관련 문제