2012-08-08 11 views
6

W mojej aplikacji internetowej, muszę dać dostęp tylko tym użytkownikom, którzy uzyskują dostęp do mojej aplikacji z Indii. Muszę zablokować użytkownikom dostęp do mojej aplikacji, gdy próbują uzyskać dostęp poza Indiami. (Tj. Nie będę im zezwalał na logowanie się i wyświetli komunikat o błędzie) Czy każdy może powiedzieć, czy jest to możliwe?Dostęp - Aby dowiedzieć się, z którego kraju użytkownik uzyskuje dostęp do mojej aplikacji

Odpowiedz

11

Dodaj Filter który sprawdza wnioski i

String ip = request.getRemoteAddress(); 

Zastosowanie hostip Service API, aby sprawdzić lokalizację

Na przykład

http://api.hostip.info/country.php?ip=74.125.236.206 

to daje kod kraju IN

Jeśli nie dostaniesz IN następnie Filtr

response.sendRedirect("someUrl"); 
return; 

uwzględnienia wniosku

chain.doFilter(request, wrapper); 

zobaczyć

inaczej
+3

Należy zauważyć, że to podejście wykrywa jedynie kraj, w którym użytkownik łączy się z Internetem. Użytkownicy biznesowi uzyskujący dostęp do Internetu przez VPN, który pośredniczy w łączeniu się z Internetem za pośrednictwem centrali w innym kraju, zostaną wykryci jako pochodzący z tego kraju, a nie z kraju, w którym się znajdują. –

+0

Czy możemy w jakiś sposób zmienić naszą obecną lokalizację, aby uzyskać dostęp do strony internetowej z jakiegoś innego kraju? –

+0

@roger można użyć serwera proxy dla tego –

Powiązane problemy