Permalänk
Medlem

Lagra ip-nummer och besökslogg

Hej!
Håller på med en hemsida, där jag gärna skulle vilja räkna antalet besökare. Just nu har jag en text-fil där alla ip-nummer lagras, men har funderat på saken, och någonting säger mig att det strider mot personuppgiftslagen att spara besökarens ip-adress utan att denne vet om det? Stämmer det tro? Det bästa vore egentligen att skapa en besöksräknare som bara räknar antalet (unika) besökare. Frågan är, hur gör man det på bästa sätt? Php? Hur kan man lagra infon utan att lagra besökarens ip-nummer? Och hur lagrar jag besöksloggen på bästa sätt? I en variabel någonstans, eller behövs det en fil?

Blev många frågor, hoppas någon kan hjälpa mig lite på vägen!

Permalänk
Medlem

Varför inte bara köra Google Analytics?

Visa signatur

...

Permalänk
Medlem
Skrivet av Hal0:

Varför inte bara köra Google Analytics?

Jag vill lära mig att göra det själv först.

EDIT: Jag vill också bara ha en liten besöksräknare som säger "si och så många besökare sedan 1/9 2011" längst ner på sidan, behöver inte något mer avancerat än så.

Permalänk
Medlem

IP-nummer betraktas numer som personuppgift enligt regeringsrätten.
Har för mig att det behövs tillstånd/ansökan hos datainspektionen för att få lagra personuppgifter. Sen ska det finnas möjlighet för var och en att kunna få ett registerutdrag om vad som finns lagrat om var och en. Hur det ska gå till vet jag inte men antipiratbyrån kräver ett intyg på att man äger IP-numret. Däremot finns det ingn som vill lämna ut ett sånt intyg och DI tycker att intygskravet är vettigt även om det inte går att få ut.
Sen ska man vara medveten om att IP:nr ofta är tillfälliga, inte alltid är den som surfar(utbytbar), kan gå via en anonymitetsserver.

Permalänk
Medlem
Skrivet av Amöban:

Hej!
Håller på med en hemsida, där jag gärna skulle vilja räkna antalet besökare. Just nu har jag en text-fil där alla ip-nummer lagras, men har funderat på saken, och någonting säger mig att det strider mot personuppgiftslagen att spara besökarens ip-adress utan att denne vet om det? Stämmer det tro? Det bästa vore egentligen att skapa en besöksräknare som bara räknar antalet (unika) besökare. Frågan är, hur gör man det på bästa sätt? Php? Hur kan man lagra infon utan att lagra besökarens ip-nummer? Och hur lagrar jag besöksloggen på bästa sätt? I en variabel någonstans, eller behövs det en fil?

Blev många frågor, hoppas någon kan hjälpa mig lite på vägen!

Om det är rätt eller fel att lagra en ip-adress vet jag inte, men det är många sajter som som gör det.

+ Att det går inte att räkna UNIKA besökare utan att lagra ip-nummret någonstans.

Jag har hållit på ganska länge med att göra en egen version av ip-statistik, och jag använder php, Mysql och AJAX för det.

För det första så använder jag AJAX för att känna av besökaren, därför jag använder AJAX är för att få bort bottar som jag inte tycker är intressanta att få med i statistiken.

AJAX skickar vidare informationen till en fil som heter besok.php som sedan sätter in värderna i en tabell i MySQL.

Sedan har jag en ADMIN-sida där jag hämtar resultaten från besökstabellen.

Det jag får ut är: Hur många besökare som varit på hemsidan: Idag, Igår, Veckan, månad och Totalt.

Sedan har jag en extra grej där jag kan se alla besökare. och då ser jag: Vilken sida de kom ifrån, Land, Stad, Län, IP, Host, Datum-tid, OS, Browser, Vilka sidor de har tittat på, samt hur många sidor de tittat på.

När jag kollar Land, Stad, och län använder jag mig av en ip-tabell http://ipinfodb.com/ip_database.php

Permalänk
Medlem
Skrivet av abki:

IP-nummer betraktas numer som personuppgift enligt regeringsrätten.
Har för mig att det behövs tillstånd/ansökan hos datainspektionen för att få lagra personuppgifter. Sen ska det finnas möjlighet för var och en att kunna få ett registerutdrag om vad som finns lagrat om var och en. Hur det ska gå till vet jag inte men antipiratbyrån kräver ett intyg på att man äger IP-numret. Däremot finns det ingn som vill lämna ut ett sånt intyg och DI tycker att intygskravet är vettigt även om det inte går att få ut.
Sen ska man vara medveten om att IP:nr ofta är tillfälliga, inte alltid är den som surfar(utbytbar), kan gå via en anonymitetsserver.

hahaha va? xD

Visa signatur

ᕦ(ツ)ᕤ

Permalänk
Medlem
Skrivet av kobbe92:

Om det är rätt eller fel att lagra en ip-adress vet jag inte, men det är många sajter som som gör det.

+ Att det går inte att räkna UNIKA besökare utan att lagra ip-nummret någonstans.

Jag har hållit på ganska länge med att göra en egen version av ip-statistik, och jag använder php, Mysql och AJAX för det.

För det första så använder jag AJAX för att känna av besökaren, därför jag använder AJAX är för att få bort bottar som jag inte tycker är intressanta att få med i statistiken.

AJAX skickar vidare informationen till en fil som heter besok.php som sedan sätter in värderna i en tabell i MySQL.

Sedan har jag en ADMIN-sida där jag hämtar resultaten från besökstabellen.

Det jag får ut är: Hur många besökare som varit på hemsidan: Idag, Igår, Veckan, månad och Totalt.

Sedan har jag en extra grej där jag kan se alla besökare. och då ser jag: Vilken sida de kom ifrån, Land, Stad, Län, IP, Host, Datum-tid, OS, Browser, Vilka sidor de har tittat på, samt hur många sidor de tittat på.

När jag kollar Land, Stad, och län använder jag mig av en ip-tabell http://ipinfodb.com/ip_database.php

Hm, ok, det där låter lite för avancerat för min nivå, har varken använt MySQL eller AJAX tidigare. Jag funderar på om det är möjligt att lagra antal besök i en variabel nånstans på servern? Det viktiga är egentligen inte antal unika besökare, utan hur många klick som sidan har fått. Senare kanske en mer avancerad lösning är på sin plats, men just nu räcker det.

Permalänk
Medlem
Skrivet av Amöban:

Hm, ok, det där låter lite för avancerat för min nivå, har varken använt MySQL eller AJAX tidigare. Jag funderar på om det är möjligt att lagra antal besök i en variabel nånstans på servern? Det viktiga är egentligen inte antal unika besökare, utan hur många klick som sidan har fått. Senare kanske en mer avancerad lösning är på sin plats, men just nu räcker det.

Du kan ju lagra något över php session, men session på servern dör ut efter ett tag. Därför är det ingen bra lösning, du måste nog använda en databas.

Du behöver inte kolla ip-nummret om du inte vill få reda på unika besökare. Då räcker det att du lagrar antalet gånger sidan har laddats i exemplevis en databas, eller som du gör nu i en textfil.

Alltså varje gång din sida laddas så sätts ett värde in i en tabell, sedan skriver du ut värderna från databasens tabell på valfritt ställe.

Permalänk
Medlem
Skrivet av kobbe92:

Du kan ju lagra något över php session, men session på servern dör ut efter ett tag. Därför är det ingen bra lösning, du måste nog använda en databas.

Du behöver inte kolla ip-nummret om du inte vill få reda på unika besökare. Då räcker det att du lagrar antalet gånger sidan har laddats i exemplevis en databas, eller som du gör nu i en textfil.

Alltså varje gång din sida laddas så sätts ett värde in i en tabell, sedan skriver du ut värderna från databasens tabell på valfritt ställe.

Ok, hm... Skulle man inte kunna lagra värdet i någon slags permanent cookie på servern? Eller tänker jag fel? Vill försöka slippa använda databaser innan jag har lärt mig det ordentligt.

Permalänk
Medlem

Man skulle kunna hasha IP-numren innan man lagrar dom. Men eftersom det är trivialt att ta reda på vad det är (iom att det egentligen bara är 32 bitar det rör sig om) så vet jag inte hur lagen ser ut.

Permalänk
Medlem

Finns andra sätt att hålla rätt på unika besökare, eller åtminstone unika webbläsarbesök.
Finns nästan inte två webbläsare som har samma unika information som du har tillgång till helt lagligt på din sida.

Du kan kolla version av läsare, alla inställningar, upplösning, installerade fonter osv.
Om man slår ihop alla dessa saker är chansen väldigt liten för att två besökare har samma information minimal.

Finns färdiga API:s att utnyttja för detta redan, och en site för att kontrollera hur unik din webbläsare är.
Kan inte adresserna för något av detta i huvudet tyvärr ... ska se om jag kan hitta lite mer info.

Visa signatur

There are 10 types of people in the world: Those who understand binary, and those who don't...

Asus Maximus VIII Hero | i7-6700K | ASUS GeForce GTX1070 Strix 8GB | G.Skill F4-2133C15Q-32GRK |

Permalänk
Medlem

Fick en idé nu när jag sökte runt lite på nätet: att lagra en cookie hos användaren när denne besöker sidan för första gången, och sedan kontrollerar man bara om det finns någon cookie när besökaren återvänder, och finns det inte det så räknar man det som en unik besökare. Kan det vara nåt tro?

Permalänk
Skrivet av Amöban:

Fick en idé nu när jag sökte runt lite på nätet: att lagra en cookie hos användaren när denne besöker sidan för första gången, och sedan kontrollerar man bara om det finns någon cookie när besökaren återvänder, och finns det inte det så räknar man det som en unik besökare. Kan det vara nåt tro?

Det kan du göra, men tänk på att inte alla webbläsare är inställda på att ta emot cookies, att användaren kanske rensat ut cookies och att han kanske växlar mellan olika webbläsare. Men att gå på IP är förvisso inte heller helt tillförlitligt som redan sagts.

Finns inget 100%-tigt sätt tyvärr, de flesta siterna sparar helt enkelt ner ip i en databas och sen är det bara att räkna sidvisningar eller unika besökare som man vill. Klart du kan spara det i en textfil på servern istället men det vore ju bara opraktiskt, och dessutom inte lättare.
Annars finns det en uppsjö av färdiga tjänster för exakt det du vill göra, kika tex. på Statcounter (http://www.statcounter.com) då kan du få en räknare på sidan om du vill och dessutom se detaljerad statistik om dina besökare (hur de hittade din sida, var de bor, webbläsare, datorinfo m.m.)

Permalänk
Medlem
Skrivet av Amöban:

Ok, hm... Skulle man inte kunna lagra värdet i någon slags permanent cookie på servern? Eller tänker jag fel? Vill försöka slippa använda databaser innan jag har lärt mig det ordentligt.

Har du en egen server så är det bara att kolla i loggfilen över vilka IP:n som servern haft kontakt med, som standard lagras det automatiskt. Tror dock inte att alla webhotell tillåter att man läser loggarna, funkade dock på One när jag testade för nåt år sen.

Permalänk
Medlem

Jag har tyvärr ingen aning om att logga besökarnas IP-adresser strider mot personuppgifts-lagen, men tror det jag med. Det du kan göra för att förhindra eventuella anmälningar från arga besökare, är att du låter dem se allt du loggar genom en särskild logg-sida.

Skriv även varför du loggar deras IP-adresser och om adressen är hashad i någon hash-metod. Ju starkare hash-metod, desto bättre. Whirlpool är en jag kan starkt rekommendera. Den har inte blivit knäckt än, till skillnad från MD5. Dock kan du säkra innehållet i MD5-hashet med hjälp av ett så kallat salt.

Denna salt-form kan du lägga antingen före eller efter IP-adressen, eller varför inte på båda ställen! Ta gärna bort punkterna i IP-adressen, med hjälp av till exempel str_replace(). På så sätt blir IP-adressen mer svårtillkomlig för hackare.

Jag håller för övrigt på med en uppdaterad version av min personliga webbsida, erik.edgren.nu, och jag lagrar allt alla mina besökare gör på webbsidan, som påverkar den på något sätt, till exempel vid postning av en kommentar. Mitt logg-system är det mest avancerade jag har gjort hittills, och det är även det mest användarvänligaste och informativaste systemet jag har gjort.

Vill du veta hur jag har gjort det och kanske bli lite inspirerad? Läs i sådana fall vidare.

När en person besöker erik.edgren.nu, hämtas hans eller hennes IP-adress, hashas i Whirlpool och lagras i en textfil och även databasen. Om du till exempel skriver en kommentar för ett blogginlägg, kommer denna händelse att sparas i textfilen. Längst ned på sidan, i footern, kan man klicka på en länk som heter "Min aktivitet". Denna sida söker i alla loggfiler efter din IP-adress och listar dem (bilderna nedan visar en tidig version av erik.edgren.nu).

Öppnar man loggen, kan man se exakt vad man gjorde vid en viss tidpunkt. Klickar man på "Statistik"-länken i footern, kan man följa alla besökarnas vistelse; om de är aktiva eller inte, vilken sida de besökte senast, när de besökte erik.edgren.nu för första gången och när deras senaste aktivitet var.

Självklart kan alla besökare välja om de vill att erik.edgren.nu ska lagra ens IP-adress i en oknäckbar hash-form, eller inte, men då måste man kontakta mig först.

Hur gör man detta då? Enkelt - Googla! xD Nä, skämt å sido. enkelt var det faktiskt inte, men det gäller att veta vad man tänker på och hur man vill ha det. Jag var tvungen att ta till hjälp från StackOverflow för att fixa "Min aktivitet"-sida. Hur som helst, så tycker jag att du ska kunna logga besökarnas IP-adresser, men i en hash-form som är stark av sig. Tänk dock på att du måste berätta för dina besökare vad din webbsida gör med deras IP-adress, annars får du 5 av 10 gånger arga besökare.

Glöm inte heller att informera dem om din webbsida lagrar kakor på deras datorer En sådan lag finns och har funnits ett bra tag nu.

Jag hoppas att detta inlägget hjälpte dig på traven Lycka till!

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

Edgren: Läste du iXams inlägg?

En IPv4-adress består av fyra tal mellan 0 och 255. Dvs det finns bara drygt 4 miljarder olika IP-adresser och lika många hashvärden. Inte fler än att man kan få plats med en tabell på en hårddisk.

Men så länge ens besökare tror att de är säkra mot en spelar det ju ingen roll.

Permalänk
Medlem
Skrivet av |:)-|-<:

Edgren: Läste du iXams inlägg?

En IPv4-adress består av fyra tal mellan 0 och 255. Dvs det finns bara drygt 4 miljarder olika IP-adresser och lika många hashvärden. Inte fler än att man kan få plats med en tabell på en hårddisk.

Men så länge ens besökare tror att de är säkra mot en spelar det ju ingen roll.

Citera nästa gång, är du snäll.

Ja, han ska väl inte lägga in alla IP-adresser i en tabell för att sedan säga vem som är ägaren, eller hur? Han ska ju lagra IP-adressen från alla hans besökare, för att få en mer utförlig översikt över hur många det är som besöker hans webbsida.

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem
Skrivet av Airikr:

När en person besöker erik.edgren.nu, hämtas hans eller hennes IP-adress, hashas i Whirlpool och lagras i en textfil och även databasen. Om du till exempel skriver en kommentar för ett blogginlägg, kommer denna händelse att sparas i textfilen. Längst ned på sidan, i footern, kan man klicka på en länk som heter "Min aktivitet". Denna sida söker i alla loggfiler efter din IP-adress och listar dem (bilderna nedan visar en tidig version av erik.edgren.nu).

Vad händer om någon annan får en IP adress som jag har haft tidigare och skrivit inlägg på din hemsida, kan de då se de inlägg som jag har gjort och allt annat som jag har gjort på hemsidan? Hur fungerar det med besökare som utåt sett har samma IP adress men som inte är samma besökare, t.ex. många stora företag så kan flera tusen personer seut att vara samma person om man bara tittar på IP adressen.

/Viktor

Permalänk
Medlem
Skrivet av vg132:

Vad händer om någon annan får en IP adress som jag har haft tidigare och skrivit inlägg på din hemsida, kan de då se de inlägg som jag har gjort och allt annat som jag har gjort på hemsidan?

Nope, det ska de inte kunna göra. Jag har inte tänkt på detta förrän du sa det, så du ska ha tack för "påminnelsen" En lösning som jag kom på nu, är ju att låta ens aktivitet visas i max 12 timmar. Efter dessa 12 timmarna, så döljs all aktivitet från en viss IP-adress, tills en ny skapas. På så sätt kan ens aktivitet inte följas av någon annans, såvida inte IP-adressen får en ny ägare inom dessa 12 timmarna.

Skrivet av vg132:

Hur fungerar det med besökare som utåt sett har samma IP adress men som inte är samma besökare, t.ex. många stora företag så kan flera tusen personer seut att vara samma person om man bara tittar på IP adressen.

Detta har jag inte heller tänkt på, så tack åter igen Jag tänkte mig som såhär: om en person sitter vid en dator som har samma IP-adress som flera andra datorer, så ska man kunna välja att antingen dölja eller visa sin aktivitet.

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem
Skrivet av Airikr:

Ja, han ska väl inte lägga in alla IP-adresser i en tabell för att sedan säga vem som är ägaren, eller hur? Han ska ju lagra IP-adressen från alla hans besökare, för att få en mer utförlig översikt över hur många det är som besöker hans webbsida.

Absolut, det jag skrev var mest en pik mot det du skrev om att hashet skulle vara "starkt", "oknäckbart" osv. Framdörren må vara säker, men från baksidan är det bara att kliva rätt in.

Finns det en enkel ett-till-ett-koppling mellan IP och hash så är sparade hash i praktiken detsamma som sparade IP-nummer.

Skrivet av Airikr:

Ta gärna bort punkterna i IP-adressen, med hjälp av till exempel str_replace(). På så sätt blir IP-adressen mer svårtillkomlig för hackare.

Att ta bort punkerna ökar inte nämnvärt beräkningarnas komplexitet.

Hackaren vet ju vilket IP han använt för att ansluta till dig eller hur? Och han kommer att experimentera med olika algoritmer för att hitta sitt eget IP i listan för då vet han att algoritmen är korrekt. När han fått fram 1 IP vet han hur han skall få fram resten.

Därför bör man göra algoritmen så svår som möjligt. Ett enkelt sätt är att försvåra är att göra en hashkedja: hash = MD5(MD5(MD5(x)))

Permalänk
Medlem

Tack för att du citerade mig

Skrivet av |:)-|-<:

Absolut, det jag skrev var mest en pik mot det du skrev om att hashet skulle vara "starkt", "oknäckbart" osv. Framdörren må vara säker, men från baksidan är det bara att kliva rätt in.

Finns det en enkel ett-till-ett-koppling mellan IP och hash så är sparade hash i praktiken detsamma som sparade IP-nummer.

Det finns ett par webbsidor som har knäckta MD5-strängar i sina databaser. Söker man efter en viss MD5-sträng, så kan man få fram innehållet i det - om man har tur. Därför är det viktigt att salta innan man hashar, speciellt för MD5. Whirlpool är å andra sidan helt oknäckbar än idag. Den hash-metoden är därför ett av de säkraste som finns ute idag.

Skrivet av |:)-|-<:

Att ta bort punkerna ökar inte nämnvärt beräkningarnas komplexitet.

Hackaren vet ju vilket IP han använt för att ansluta till dig eller hur? Och han kommer att experimentera med olika algoritmer för att hitta sitt eget IP i listan för då vet han att algoritmen är korrekt. När han fått fram 1 IP vet han hur han skall få fram resten.

Därför bör man göra algoritmen så svår som möjligt. Ett enkelt sätt är att försvåra är att göra en hashkedja: hash = MD5(MD5(MD5(x)))

Mycket sant att hackaren kan hämta sin egna IP-adress och gå efter den, men det går alltid att svåra till det lite, med hjälp av "en stark saltning" i hashningen. Exempel i klartext: 4910601059624972202057920231151. Detta var dock en avancerad lösning, för man måste då hämta alla tecken från ens IP-adress och lägga till en massa siffror ihopgrötat med sin adress. Exemplet visar 127.0.0.1, för de som undrar.

MD5(MD5(MD5(127.0.0.1))) må vara en bra lösning, men jag anser att följande lösning är lite bättre: Whirlpool(127.0.0.1), eller varför inte Whirlpool(4910601059624972202057920231151). Då är den hashningen omöjlig att knäcka. Dock blir det svårare att jämföra besökarens IP-adress med en lagrad sådan, som jag kör med. Därför kör jag med Whirlpool(127.0.0.1).

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me. Andra projekt: Keizai, Koroth & Serenum.