Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/04/2014, 08:41
LuisUrrutia
 
Fecha de Ingreso: febrero-2012
Mensajes: 19
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: bloquear-guadar usuario y/o ip geolocalizacion html5

Hola odek, te cuento, de principio hay una forma de saber desde que lugar proviene la IP, me imagino que quizás utilices PHP para la aplicación, y desde el lado del servidor tu puedes saber la IP del cliente que se conecte a tu servidor web, para ello puedes utilizar este metodo
https://gist.github.com/cballou/2201933

en cuanto a lo de la localización de la IP que obtuviste por medio de ese metodo, puedes utilizar este servicio que te permite ubicar las IP en una ciudad en concreto por ejemplo y si no está en el lugar que deseas, lo bloqueas.
http://www.geoplugin.com/webservices/php
(en caso de que no quisieras recurrir a un servicio externo, puedes utilizar esto http://dev.maxmind.com/geoip/geoip2/geolite2/ ahí te descargas una base de datos con localizaciones y la implementas)

Ahora, siendo más especifico con tu respuesta, puedes pedir al usuario su localización haciendo uso de HTML5, el problema de esto, es que ocurre de lado del cliente, por ende se debe utilizar Javascript de lado del cliente también, y este podría llegar a falsear los datos.
Para hacer lo que deseas y obtener su latitud y longitud, puedes hacer uso de esta libreria
https://github.com/estebanav/javascript-mobile-desktop-geolocation

Incluyes el Javascript y lo usas de la siguiente forma
Código Javascript:
Ver original
  1. if(geoPosition.init()){  //  Iniciar geolocalizacion
  2.             geoPosition.getCurrentPosition(success_callback,error_callback,{enableHighAccuracy:true});
  3.     }else{
  4.             // No se puede utilizar la geolocalizacion en ese dispositivo
  5.     }
  6.     geoPositionSimulator.init();
  7.  
  8.     // p : geolocation object
  9.     function success_callback(p){
  10.         // p.latitude : valor de la latitud
  11.         // p.longitude : valor de la longitud
  12.     }
  13.  
  14.     function error_callback(p){
  15.         // p.message : mensajes de error
  16.     }

y en success_callback, utilizas una petición Ajax a algún fichero de tu servidor que hayas configurado para recibir latitud y longitud, y posteriormente realizar el bloqueo. Lo de utilizar Ajax lo digo porque el bloqueo lo debes hacer si o si, desde el lado del servidor y no desde el cliente, es por ello que debes recibir estos datos.

Saludos