Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kävijälaskuri MySQL:llä

Sivun loppuun

JyKKemus [17.12.2007 19:16:47]

#

Millanen kävijälaskuri teistä olisi paras siis rakenteeltaa et millaset taulut lois ja sarakkeet tauluihin?

moptim [17.12.2007 20:13:48]

#

No yksinkertainen syntyy laatimalla taulun jossa on yksi (1) int joka kuvaa käyttäjien määrää. Sitte yla.php:ssäs on jutsku joka lisäilee sitä joka kerta ku ladataan yhdellä (1). Tietenkin jos alat ylihienostella niin teet semmosen että tunti pitää oottaa samasta iipparista tjsp.

Metabolix [17.12.2007 20:28:55]

#

Ensin luo käyttäjälle tunniste esimerkiksi IP:n ja jonkin muun tiedon perusteella niin, että eivät mene sekaisin edes saman nettiyhteyden käyttäjät, jos mahdollista. Tarvitset kaksisarakkeisen taulun: tunniste ja aika. Joka kerta voit ajaa ensiksi sellaisen kyselyn, joka pudottaa kannasta kaikki ne, joilla aika on pienempi kuin X ennen nykyhetkeä. X siis kuvaa pisintä idle-aikaa, joka sallitaan saman käyntikerran aikana. Seuraavaksi katso, onko kannassa jo tämä tunniste. Jos on, päivitä siihen liittyvä aikaleima, ja jos ei ole, lisää se ja kasvata kävijämäärää yhdellä.

ajv [17.12.2007 21:41:25]

#

Itse olen pitänyt tälläista taulua kotskaporttaaleissani:

CREATE TABLE `tilastot` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(4) NOT NULL default '',
  `last_load` datetime default NULL,
  `first_load` datetime default NULL,
  `agent` varchar(100) default NULL,
  `referer` varchar(255) default NULL,
  `headword` varchar(30) default NULL,
  `domain` varchar(20) default NULL,
  `bot` tinyint(1) default '0',
  `lataukset` int(11) default NULL,
  PRIMARY KEY  (`id`),
  KEY `ip` (`ip`),
  KEY `robot` (`robot`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1

Lisäksi pidän kirjaa mitä sivuja ollaan ladattu. Jos sivuja ei ole paljon, ne voi ympätä tuohon tauluun sarakkeiksi. Tuo on siis vahvasti indeksoitu, koska sinne ei lisätä rivejä joka sivunlatauksella ja tuolta voi hakea reaaliaikaista statistiikkaan. Eli idea on, että ensin tarkastetaan löytyykö ip:tä vastaava rivi, jos ei lisätään se sinne, jos kyllä, päivitetään rivin lataukset-kenttää.

juha127 [17.12.2007 21:50:55]

#

ajv kirjoitti:

Itse olen pitänyt tälläista taulua kotskaporttaaleissani:
[– –]
Lisäksi pidän kirjaa mitä sivuja ollaan ladattu. Jos sivuja ei ole paljon, ne voi ympätä tuohon tauluun sarakkeiksi. Tuo on siis vahvasti indeksoitu, koska sinne ei lisätä rivejä joka sivunlatauksella ja tuolta voi hakea reaaliaikaista statistiikkaan. Eli idea on, että ensin tarkastetaan löytyykö ip:tä vastaava rivi, jos ei lisätään se sinne, jos kyllä, päivitetään rivin lataukset-kenttää.

Erittäin saman tyylinen idea kuin omassani, jonka rakentelin sivuilleni. Mutta tuosta taulusta sain hyvää kehitys ideaa. ;)

JyKKemus [18.12.2007 07:13:23]

#

millanen php koodi sulla tossa on?

ja mikä toi

KEY `robot` (`robot`)

?

ajv [18.12.2007 07:48:02]

#

Ah, yritin muutella noita sarakkeiden nimiä lennosta vähän loogisemmiksi ennen tänne pasteemista. KEY `bot` (`bot`). Eli onko kyseessä botti vai oikea selailija. Koodi on kirjotettu joskus 4 vuotta sitte, en kyllä kehtaa sitä tänne pastee :)

JyKKemus [19.12.2007 07:15:28]

#

$tunnistus_aika = 7200;

$query = mysql_query("SELECT * FROM counter",$yhteys)
or die("Kysely ei onnistunut");;

Mä tein tollasen kyselyn ja siinä on sarakkeet first_load ja last_load niin miten saisin WHERE lausekkeeseen siten että se hakisi kaikki ne rivit jossa last_load - last_load + tunnistus_aika siten että tämän hetkinen aika sijoittuisi noiden väliin?

last_load ja first_load on datetime tyyppiä

JyKKemus [19.12.2007 11:43:09]

#

Onko mitään muuta tietoa mikä erottajaa selaajan toisistaan muuta kuin ip osoite vaikka sekään ei erota ihan kaikkia selaajia toisistaan?

Olga [19.12.2007 12:52:31]

#

Jos ei keksit maistu, yksi tapa on käyttää eri tietojen yhdistelmiä. Näitä voisi olla esimerkiksi ip, käyttöjärjestelmä, selain (ja versio) jne.

JyKKemus [19.12.2007 13:35:16]

#

haen käyttäjän ip:n ja vertaan sitä ja myös kielen, kannattaako sitä verrata?

peg [19.12.2007 14:55:48]

#

Ei oikein, nimittäin ip numerosta selviää valtio ja usein jopa kaupunki.
Esim. ip:t jotka alkaa 62.xx.xx.xx ovat suomalaisille operaattoreille.
Kävijälaskurin eräs hyvä juttu on referer, mistä käyttäjä saapui sivullesi.
esim googlesta tulleet käyttäjät: näet millä hakusanoilla on tultu.

aika käyttäjän ip
2007.12.19 - 09.46.54 - 146.81.200.62 - 146.81.200.62 -

google haku helena murtonen kansio sivu
http://www.google.fi/search?hl=fi&q=helena murtonen&meta= - k5 - etusivu

Ja googleen tämä haku, löytyi sijalta 10.

ajv [19.12.2007 16:53:33]

#

md5($_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_X_FORWARDED_FOR'] . $_SERVER['USER_AGENT']);

Parempi kuin pelkkä ip, mutta ei edelleenkään läheskään varma. Yksilöllistää kyllä ainakin meidän puljun kaikki verkon käyttäjät ($_SERVER['HTTP_X_FORWARDED_FOR']). Riittää kyllä IMO kävijälaskurin tunnisteeksi.

Wizard [20.12.2007 07:06:29]

#

peg kirjoitti:

--clip--
Esim. ip:t jotka alkaa 62.xx.xx.xx ovat suomalaisille operaattoreille.
--clip--

Tämä perustuu mihin? Operaattorina haluaisin tämän kuulla mielelläni sillä tämä on uutta tietoa minulle.


-W-

peg [20.12.2007 09:40:47]

#

Tietoa ip numeroista http://fi.wikipedia.org/wiki/IP-osoite

ja lista Suomeen varatuista ip numeroista http://www.ipdeny.com/ipblocks/data/countries/fi.zone

Wizard [20.12.2007 10:29:53]

#

peg kirjoitti:

Tietoa ip numeroista http://fi.wikipedia.org/wiki/IP-osoite

ja lista Suomeen varatuista ip numeroista http://www.ipdeny.com/ipblocks/data/countries/fi.zone

Pitäisikö tuosta päätellä sitten sitä, että KAIKKI 62.x.x.x sarjan IP-osoitteet on varattu suomalaisille? Esim. meidän verkot ovat tuossa listassa kolmessa eri luokassa ja olemme puhtaasti suomalaisia operaattoreita eivätkä verkkomme IP-luokat ole tuossa mainitsemassasi sarjassa.

Tuollaisesta listasta ei kannata alkaa vetelemään mitään hätäisiä johtopäätöksiä, koska 62.xxx.xxx.xxx luokassa on yhteensä 65536 eri luokkaa ja vaikka näitä jaettaisiin 2048 osoitteen blokeissa (joka on minimi), tulee siitä yhteensä 32 eri luokkaa. Tämä on Suomeen ehkä hieman liian paljon... Tuossa koko 62.0.0.0 - 62.255.255.255 sarjassahan on noin 16.7M IP-osoitetta, Suomessa tuskin on noin montaa IP-laitetta???

Suositus: lue RIPEn sivuja jotta pääset perille hieman paremmin asioista. Noin hätäiset johtopäätökset asioista ja niiden esittäminen "totuutena" voi johtaa vääriin johtopäätöksiin. Väitteesi ei pidä nimittäin paikkaansa. Voit todeta sen jo helposti sillä, että esim. 62.1.0.0 - 61.1.3.255 on varattu kreikkalaiselle taholle jolla ei ole mitään tekemistä Suomen kanssa. Ja sitten voi siitä eteenpäin selata kyseisen luokan IP-osoitteita ja alkaa tekemään johtopäätöksiä.

Siinä mielessä olet kyllä jossain määrin oikeassa, että kyseinen luokka on varattu jollekin maalle, mutta kysymys kuuluu, että onko EU maa?

-W-

peg [20.12.2007 14:40:00]

#

Wizard, käänsit asian vähän toisinpäin. Kirjoitin "ip numerosta selviää valtio ja usein jopa kaupunki". esimerkki 62.xx.xx.xx oli tarkoitettu hahmottamaan
asiaa.

ajv [21.12.2007 07:40:47]

#

peg kirjoitti:

Esim. ip:t jotka alkaa 62.xx.xx.xx ovat suomalaisille operaattoreille.

Kyllä minä ainakinkin tuon ymmärsin aivan samoin kuten Wizard. Ei kyllä mennyt omasta korvien väliisä sijaitsevasta filtteristä läpi, mutta en jaksanut alkaa väittämään vastaan, kun ei itellä ollut parempaa tietoa.

Noista sun väitteistä peg muuten puheenollen, jokohan se google olisi löytänyt sen ohjelmointiputka.com-domainin alla piilossa olevan tiedoston?

https://www.ohjelmointiputka.net/keskustelu/15755-hakemiston-tiedostojen-näkyvyys

peg [21.12.2007 10:23:02]

#

Antti voisi vastailla onko tiedostoa ladattu.

Wizard [24.12.2007 22:20:31]

#

peg kirjoitti:

Wizard, käänsit asian vähän toisinpäin. Kirjoitin "ip numerosta selviää valtio ja usein jopa kaupunki". esimerkki 62.xx.xx.xx oli tarkoitettu hahmottamaan
asiaa.

Itse asiassa ei selviä välttämättä. AS -numero voi olla käytössä esim. norjalaisella operaattorilla joka käyttää sitä globalisti Ruotsissa sekä Suomessa.

Esimerkkinä otettakoon norjalainen iso operaattorien operaattori Telenor jonka IP-osoitteita käyttämällä palvelin tunnistetaan Norjassa sijaitsevaksi VAIKKA palvelin olisi Suomessa Espoossa tai Helsingissä tai Ruotsissa Tukholmassa jne.

Väitteesi EI SIIS PIDÄ aukottomasti paikkaansa, väitteesi toki on suuntaa antava, mutta tuohon ei todellakaan kannata luottaa sokeasti.

Totuus on se, että IP -osoitteesta selviää AS-numero ja sen perusteella saadaan selville, että kenelle kyseinen AS-numero kuuluu (kuka operaattori hallinnoi sitä). Tämän jälkeen vain yksin ainoastaan operaattori tietää missä kyseinen IP-osoite on käytössä, kaikki muu on suuntaa antavaa.

-W-

JyKKemus [29.12.2007 12:02:04]

#

mulla käy sivulla päivittäin ihmisiä ja olen tarkkaillu et yhestä ip:stä on käytä paljon enemmän kun muista, voiko se olla joku spämmi robotti tai joku?

tsuriga [29.12.2007 12:07:14]

#

s0n joku innokas fani. http://whois.sc/<IP>

JyKKemus [29.12.2007 12:12:03]

#

en usko mitä tuolt whoissist nään

Ku mul on viel sillee et se kirjottaa aina ajan koska oot tullu ja koska oot aina uudestaa ladannu sivua ja monta kertaa oot tietyn ajan sisäl ladannu etusivuu niin ihmettelen et miten se voi ladata samas ajas etusivua kolmeki kertaa

JyKKemus [30.12.2007 17:29:22]

#

Voiko se kävijä olla joku spämmi robotti?

ville-v [30.12.2007 18:07:36]

#

JyKKemus kirjoitti:

en usko mitä tuolt whoissist nään

Ku mul on viel sillee et se kirjottaa aina ajan koska oot tullu ja koska oot aina uudestaa ladannu sivua ja monta kertaa oot tietyn ajan sisäl ladannu etusivuu niin ihmettelen et miten se voi ladata samas ajas etusivua kolmeki kertaa

IP:n takana voi olla monta konetta. Esimerkiksi vantaan koulujen kaikilla koneilla on Internettiin yhteinen IP-osoite.

JyKKemus [30.12.2007 18:29:35]

#

vähän oudolta vaan kuullostaa se että kun laskurini ottaa ajan koska saavuit sivulle ja jos painat jotain linkkiä sivullani niin se ottaa uuden ajan että laskuri tietää koska olet viimeksi ollut täällä ja jos menet uudestaan ns. etusivulle niin laskuri muuttaa viimeksi ollutta aikaa ja lisää latauksiin numeron 2 koska olet toista kertaa etusivulla nin ihmettelen miten samasta ip:stä ladataan etusivua täsmälleen samassa ajassa 2-4 kertaa

JyKKemus [03.01.2008 07:14:21]

#

nyt laitoin että se poimii agentti tiedot käyttäjiltä ja se "outo" käyttäjä antaa agentti nimeksi nettiosoitteen vaikka sen pitäisi antaa selaimen tiedot, miten voi olla mahdollista että se antaa netti osoitteen?

Agentin tulostan näin:

$_SERVER['HTTP_USER_AGENT'];

tsuriga [03.01.2008 08:15:21]

#

<?php
ini_set( 'user_agent', 'https://www.ohjelmointiputka.net/' );
file_get_contents( 'http://mundomain.com/' );
?>

Ts. user-agentti on ihan käyttäjän muokattavissa, itelläkin pyörii Fx:ssä Modify Headers -lisäosa ja user-agenttina on CHUCK NORRIS BROWSER.

JyKKemus [24.01.2008 10:30:56]

#

Uskaltaako kysellä miten on ohjelmointiputkan kävijälaskuri tehty?

punppis [24.01.2008 11:10:04]

#

Itselläni on ainakin sellainen, että se tallentaa ip:n, päivän, kuukauden ja vuoden, johon tulee automaattisesti id-numero. Näisä sitten sql-lausetta distinctillä maustettuna saadaan kävijät päivittäin, kuukausittain ja vuosittain helposti.

Blaze [24.01.2008 20:16:00]

#

JyKKemus kirjoitti:

Uskaltaako kysellä miten on ohjelmointiputkan kävijälaskuri tehty?

Arvaan: varsin purkasti ^_^;;

ajv [24.01.2008 21:13:19]

#

Onko täällä jossain kävijälaskuri? :)

Antti Laaksonen [24.01.2008 22:05:19]

#

Palvelimen lokitiedostoista luodaan kävijätilastot AWStats-ohjelmalla, mutta minä en ole laatinut mitään lisäjärjestelmiä kävijämäärien seuraamiseen.

JyKKemus [15.02.2008 10:00:45]

#

Mistä tietää onko kävijä botti?

Olga [15.02.2008 10:06:30]

#

User-Agent sen yleensä kertoo. En sitten tiedä, löytyykö tunnistamiselle jotain yleispätevää tapaa.

Vasta_alkaja [15.02.2008 11:11:47]

#

peg kirjoitti:

Esim. ip:t jotka alkaa 62.xx.xx.xx ovat suomalaisille operaattoreille.

Kyllä minäkin käsitin tämän ihan niinkuin muutkin ja meinasin vielä lankaan mennä. Ihan piti tarkistaa kävijätiedot laskurista, että mitä sinne on pukannut.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta