Just nu i M3-nätverket
Gå till innehåll
Kalle Dator1

Spåra besökare till hemsidan

Rekommendera Poster

Kalle Dator1

Hej !

Jag har en hemsida som ligger konstant ute på internet, och det kommer med ojämna mellanrum besökare som tittar in och kikar på mina alster, videofilmer m m.

Nyfiken som jag är så tycker jag det är kul se var alla besökare kommer ifrån, och det kan man göra via t ex  en PHP-kontroll som reagerar på de olika besöken och var de utgår ifrån.

Signalen utgår från olika delar av hemsidan, där besökaren klickar på något som hen är nyfiken på och en web-browser förmedlar sedan vidare till olika PHP-skripts.

Nu har jag koncentrerat mig på enbart en PHP för att testa besöken och det ser bra ut och lämnar de önskade informationerna om Country, Region och City (Se PHP-skriptet under KOD !)
Men de fullständiga uppgifterna får jag bara från besökare i Sverige.

Alla de andra blir bara presenterade med Country och resten lämnas blankt.

Nu har jag förstått att man kan skaffa någon form av databas som heter GeoIP2 och som ska ombesörja resten av världen, vilket ju vore önskvärt.
Men jag hänger inte med på all information om saken, även om jag klarar av engelskan tämligen bra. Det är för mycket kringsnack inblandat som gör det svårt renodla informationen.

 

Kan någon hjälpa mig och tipsa hur men bäst fixar denna databas så att man får det att funka ! ?

Min PHP-skript ser ut som följer och den lämnar som sagt uppgifter om besökare inom Sverige, men inte utifrån resten av världen..

 

<?php

$file = fopen("Count.txt","r");
$contents = fgets($file)+1;
fclose($file);
$file=fopen("Count.txt","w");
fwrite($file,$contents);
fclose($file);

$ip=$_SERVER['REMOTE_ADDR'];
$geopluginURL = 'http://www.geoplugin.net/php.gp?ip=' .$ip;
$unarr = file_get_contents($geopluginURL);
$AddArr = unserialize($unarr);
$country = $AddArr['geoplugin_countryName'];
$region = $AddArr['geoplugin_regionName'];
$city = $AddArr['geoplugin_city'];
$file = fopen('C:/LoggMapp/Visitlog.txt','a');
fwrite($file, $ip);
date_default_timezone_set('Europe/Stockholm');
fwrite($file, (date(" Y-m-d:H:i:s")));"     ";fwrite($file,", ");
fwrite($file, $country);
fwrite($file,", ");
fwrite($file, $region);
fwrite($file,", ");
fwrite($file, $city);
fwrite($file,", ");
fwrite($file, "  #Index \r\n");
fclose($file);
?>

 


/Kalle

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Monshi

varför inte installera google analytics som sköter det åt dig?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1

Kan man bara anordna det så att det serveras, bara att slå upp och kika på resultatet `?

Jag vill inte vara tvungen att sätta mig med några hundra IP-nummer varje dag som ska analyseras och sorteras, utan vill ha det uppslaget när jag öppnar hemsidan...

 

OK - jag har inte kikat på Google Analytics, så att jag vet vad det handlar om ännu, men ska givetvis kika på det..

 

Annars - ingen hint om GeoIP2 ? ?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1

Google Analytics är nog jättebra om man vill starta upp en hemsidesbevakning från början.

Därmed blir det alltför komplext för mig, som bara och enbart vill ha möjligheterna att komplettera visningen med Region och City på de som har tittat in på min hemsida och där jag redan har Country.

Vet däremot inte om frånvaron Region/City bara gäller USA, eftersom jag har indikation på visade uppgifter från t ex Ukraina och någon ytterligare. Frankrike däremot är blankt vad avser dessa uppgifter

 

Det gäller som sagt hur man går tillväga med att på något sätt införa GeoIp2 till redan befintlig PHP-process.

De upplysningar som jag hittills hittat vid sökning på detta är alltför röriga att få något begrepp om, i avsikt att bara få hem det jag behöver och inte en hoper med annat som inte ger någon nytta utan kanske bara kostar onödigt mycket cash....

 

/Kalle

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1

Fick idag två utländska besök, som resulterade i full pott

Ireland, Leinster, Dublin

och

United States, Virginia, Ashburn,

Annars brukar det bli detta resultat:

United States, , ,

Jag förstår inte varför det blir skillnad mellan två från USA, frånsett att de förstås är representerade av två olika IP-adresser...

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1

Kollade lite mer på internet angående "GeoIP2 Country Database".

 

Den är tydligen avsedd för kommersiellt bruk och är tämligen dyrbar att anskaffa ($24 per månad !) som väl är ungefär tio gånger mer i SEK (?)

 

Finns det inget billigare alternativ för hobbybruk ?

 

Detta med Google Analytic då...

 

Kan man inte vaska ur det som man tycker behövs, utan behöva göra om allt som man byggt upp baserat på php-script bara för att kunna avläsa Region och City ur IP-numret...

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1
Postad (redigerade)

Hej !

Det finns ju platser på nätet där man kan boka in sig och prenumerera på, om man vill ha tillgång till spårning av IP-nummer. Men de är inte direkt billiga, och är egentligen avsedda för mer eller mindre kommersiellt bruk, med stora datavolymer.

Men jag hittade en gratis-resurs som heter  "extreme-ip-lookup.com/json/" som tar hand om att returnera såväl Country som Region och City, medelst en php-script.
Med en php-script av detta format, matar den fram uppgifterna, snyggt och prydligt !

<?php

$user_ip = getenv('REMOTE_ADDR';
$geo = json_decode(file_get_contents("http://extreme-ip-lookup.com/json/$user_ip"));
date_default_timezone_set('Europe/Stockholm');
$country = $geo->country;
$region = $geo->region;
$city = $geo->city;
$file = fopen('C:/LoggMapp/Visitlog.txt','a');
fwrite($file, $ip);
fwrite($file, $user_ip);
date_default_timezone_set('Europe/Stockholm');
fwrite($file, (date(" Y-m-d:H:i:s")));"     ";fwrite($file,", ");
fwrite($file, $country);
fwrite($file,", ");
fwrite($file, $region);
fwrite($file,", ");
fwrite($file, $city);
fwrite($file,", ");
fwrite($file, "  #Index \r\n");
fclose($file);
?>

 

Reservationen är bara den att om man speedar upp till mer än 20 sökningar per sekund så blir man blockerad..

Detta lär dock inte inträffa för min del, då det kanske kan röra sig om enstaka per timme, med vissa variationer.

Dock måste man ju ändå försöka att begränsa sig, där det går, och jag funderade över att rationalisera genom att göra en egen variant av databas, dit mina spårningar i första hand kan vända sig och hämta uppgifterna. Där det saknas uppgifter för ett specifikt IP-nummer, vilket till en början är det genomgående, får jag - eller ett dataprogram - ge sig ut och med hjälp av scriptet ta hem uppgifterna för lagring i en växande databas a la" Kalle Dator"

Men där har jag ett problem !
Skapar jag ett dataprogram som sköter detta, måste jag lägga in PHP-script i en Visual Basic-miljö. Såvitt jag vet så låter sig detta endast göras om man anropar med ett webbcommando, som kan se ut som detta:

Open URL For Random As "http://karlerik39.no-ip.org/Komplettera_IP-nr.php"

eller också så här:

WebBrowser1.Navigate "http://karlerik39.no-ip.org/Komplettera_IP-nr.php"

där den anropande php-modulen naturligtvis här ligger på min egen dator under  min egen IP-adress.
Detta innebär att jag anropar min egen dator - från min egen dator.

 

PHP-snutten som ska spåra visst IP-nr är

"Komplettera_IP-nr.php":

<?php
$user_ip = getenv('46.229.168.148';
$geo = json_decode(file_get_contents("http://extreme-ip-lookup.com/json/$user_ip"));
date_default_timezone_set('Europe/Stockholm');
$country = $geo->country;
$region = $geo->region;
$city = $geo->city;
$file = fopen('C:/LoggMapp/Visitlog.txt','a');
fwrite($file, $ip);
fwrite($file, $user_ip);
date_default_timezone_set('Europe/Stockholm');
fwrite($file, (date(" Y-m-d:H:i:s")));"     ";fwrite($file,", ");
fwrite($file, $country);
fwrite($file,", ");
fwrite($file, $region);
fwrite($file,", ");
fwrite($file, $city);
fwrite($file,", ");
fwrite($file, "  #Index \r\n");
fclose($file);
?>

 

Tidigare försök med liknande har inte gått så bra, och det gjorde det inte här heller.

Idén är ju att mitt ett datorprogram ska sköta om sorteringen och uppdateringen av databasen, samtidigt som det ser till att enbart knalla ut på nätet för komplettering av ett ej befintligt IP-nummer när det behövs och i övrigt hämta från min växande databas....

 

Jag hoppas att jag har uttryckt mig tydligt, för jag skulle behöva hjälp att hitta något sätt komplettera IP-nummer med Country, Region och City också från min dator, vilket som sagt går alldeles utmärkt när någon besökare hamnar på min hemsida och händelsevis "råkar" aktivera ett php-script som sköter den saken

Hoppas att någon har tid, och även har ett fantastiskt bra förslag !

Med vänlig hälsning

/Kalle

Redigerad av Kalle Dator1
Felstavningar och slarv

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1

Kom tänka på att man kanske kunde lyckas med kommunikationen och skiicka php-skriptet mellan två domäner, även om det är samma dator.

 

Domänerna ska väl inte kunna hindra varandra utföra operationer mellan sig, på samma sätt som när man försöker sända från och till samma domän...

 

Någon som har synpunkter på det, och gärna även på det tidigare framförda ?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
fagerja

Du skall skicka php-scriptet till localhost (IP-nr 127.0.0.1/8).

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1

Hej och tack för input !

Låter rimligt, men skriver jag då

WebBrowser1.Navigate "Localhost/Komplettera_IP-nr.php" ?

eller

WebBrowser1.Navigate "127.0.0.1/8/Komplettera_IP-nr.php" ?

? ?

Vad står "/8" för ?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
fagerja

8 står för antalet bit som ingår i nätadressen. Det är ett alternativt sätt att ange nätmasken, som är 255.0.0.0. Åttan skall inte ingå i koden. Du kan behöva ange en absolut sökväg till skriptet.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Mr Andersson

Vill påpeka att denna typ av information inte är tillförlitlig. Det finns ingen databas över var varje användare befinner sig, utan det är i bästa fall operatörens nod och vanliga fall operatörens adress. 

 

Just nu sitter jag fysiskt och jobbar i södra sverige, men med dansk operatör, så när jag sökte på den IP-adress vi har här, får jag svaret Copenhagen, Denmark, vilket ju är fel.

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1

Jo, jag är nog ganska så medveen om detta.

Jag får själv ofta väldigt konstiga uppgifter om min egen IP-adress, vad gäller region och ort, men en absolut odiskutabel adressbeskrivning känns dock inte viktig i min spårning av IP-nummer, eftersom jag inte har ett sådant behov.

Bara intressant se vilka som besöker, och vad som intresserar...

 

Lite irriterande är dock dessa ständiga besök av robotar som på nästan millisekunder avsöker webbsidans alla sub-platser. Man undrar till vilken nytta.

De förestör liksom hela bilden av besökare med intresse ta del av det man har att visa upp.....

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Mr Andersson
Postad (redigerade)

För att slippa robotar så skapar du en fil i rooten på din webplats som heter robots.txt med följande innehåll:

 

User-agent: *
Disallow: /

Redigerad av Mr Andersson

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Kalle Dator1
18 minuter sedan, skrev Mr Andersson:

För att slippa robotar så skapar du en fil i rooten på din webplats som heter robots.txt med följande innehåll:

 

User-agent: *
Disallow: /

Stort TACK !

 

/Kalle

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...