Geralmente com o Ip é possível conseguir dados da máquina, como País, Cidade, Longitude e Latitude.

Para fazer isso tem um tutorial em

http://www.iplocationtools.com/sql_database.php

Ele também tem uma API, para não ser necessario colocar um banco de dados enorme no seu servidor

http://iplocationtools.com/ip_location_api.php

como usar

http://iplocationtools.com/ip_query.php?ip=189.35.236.58

e um xml é retornado

<Response>
  <Ip>189.35.236.58</Ip>
  <Status>OK</Status>
  <CountryCode>BR</CountryCode>
  <CountryName>Brazil</CountryName>
  <RegionCode>27</RegionCode>
  <RegionName>Sao Paulo</RegionName>
  <City>Bauru</City>
  <ZipPostalCode></ZipPostalCode>
  <Latitude>-22.3167</Latitude>
  <Longitude>-49.0667</Longitude>
</Response>