Verificar origem do acesso

Boa tarde a todos.

Existe alguma forma de verificar qual é o país, estado e cidade do usuário que está acessando o site utilizando PHP ?

tem muitos links na web sobre isso, eu gosto desse.

1 curtida

Esse do link retorna latitude e longitude, eu preciso de alguma função que me retorne o país, o estado e a cidade de onde está sendo realizado o acesso.

Bem, é uma questão de pesquisar mais. Eu pessoalmente não desenvolvo em PhP, por isso ouvi falar apenas dessa tecnologia. Recomendo que pesquise um pouco mais e ache o que melhor se adequa ao seu caso! (:

Parece que só por Geo mesmo man. Você usa o GeoIP e depois calcula a localização do indivíduo. Ainda não tem nada pronto pra consumir por API pelo que parece. Eis uma oportunidade rsrsrsrs

1 curtida

Gostei da ideia.

Dei uma olhada e cheguei a dois problemas em relação ao Geolocation do HTML5:

  • O cliente precisa aceitar utilizar a localização, se ele não aceitar a aplicação não funcionará;
  • Precisaria ser algo transparente para não ocorrer o problema do item anterior.

Quanto ao GeoIP, vi que ele não retorna a localização exata.

Em algumas buscas que eu realizei verifiquei que a maioria das pessoas sempre dizem que o retorno é impreciso.

A ponto de colocar a pessoa em outra cidade? Pelo que você disse, a cidade é sua menor unidade de referênca. Logo se a pessoa não estiver próximo da fronteira da cidade, isso pode não ser um problema, ou pode… Na verdade não sei ao certo mesmo. :wink:

Sim, estou no Espírito Santo e mostra que estou no Rio de Janeiro.

O que te impede de usar outra api para achar a localização com esses dados? Veja bem, até mesmo o Maps encontra lugares pela latitude e longitude.

Na impede, porém eu preciso que seja algo transparente para o usuário, existe alguma forma de capturar a latitude e longitude de forma transparente ?

Defina “de forma transparente”.

Conforme os usuários acima citaram, a geolocalização com a Geolocalization API ocorre se e somente se o usuário der consentimento. Isso, para mim, é transparência.

Artigo para conferir:

Eu precisaria de algo que não necessitasse da interação do usuário, para cada cidade o sistema apresentará informações diferentes, desta forma se eu deixo usuário dizer onde ele está, ele simplesmente informa outra cidade, a questão do usuário aceitar poderá ocasionar em o cliente ter a impressão que o sistema está monitorando ele e não aceitar e a aplicação não funcionará corretamente.

Meu caro, você quer algo que pega a localização do usuário sem o consentimento dele. Boa sorte montando isso, mas deixa eu te informar: O próprio browser não deixa isso acontecer.

Não monte um site.

Então não deixe.

“ter a impressão que o sistema”… isso é user experience. Você precisa deixar claro pra ele o por que precisa de acesso à localização. Inclusive, o link que eu postei fala sobre isso também (você deveria ler (; ).

Ademais, não há muito o que ser feito.

1 curtida

Concordo com tudo que você disse, porém não é eu que quero isto e sim o cliente e ele estipulou que precisa que seja desta forma.

Muito obrigado pela explicação.