Page 1 of 1

Auswertung Herkunft ?

Posted: Thu Mar 08, 2012 4:49 pm
by Moondust
Ich vermisse eine Auswertung der Herkunftsländer !

Re: Auswertung Herkunft ?

Posted: Sat Mar 10, 2012 4:12 pm
by Christopher
Hallo Moondust!

Ich auch ;-)

Das steht auf jeden Fall auf meiner ToDo und wird auch bald kommen. In 1.71 allerdings leider noch nicht.

Viele Grüße und viel Spaß mit CrazyStat!
Christopher

Re: Auswertung Herkunft ?

Posted: Fri May 18, 2012 7:40 pm
by Astrid
da die Überschrift passt poste ich hier:

Wenn man bei "stat/src/show_log.php?&id= " auf Referer klickt wird man ja anonym weitergeleitet zu der Referer Seite.

Könnte man nicht auch unter IP einen Link hinterlegen wo man dann anonym weitergeleitet wird z.B. auf http://www.infosniper.net/index.php?ip_address= ***hier die IP*** ?

Evtl. könnte man die Option ja auch offen lassen, sodass jeder einen beliebig ähnlichen Dienst via config.php hineinschreiben kann. Es gibt ja diverse Seiten die so einen Dienst anbieten.

Gut fände ich übrigens auch wenn vor der IP gleich auch so eine kleine Flagge des Herkunftlandes der IP angezeigt werden würde.

Außerdem fände ich es sinnvoll wenn es generell eine Option gäbe eine bestimmte IP (zb die eigene) zu sperren.

Edit: sehe gerade dass du einen Teil schon in deiner ToDo Liste hast. (ich lass den Post jetzt aber einfach mal trotzdem stehen)

Re: Auswertung Herkunft ?

Posted: Sun May 20, 2012 6:25 pm
by Christopher
Hallo,

das mit dem Link zum IP-Dienst ist prinzipiell keine schlechte Idee. Steht aber ein bisschen im Widerspruch zum Anonymitäts-Ansatz. Ich möchte mit CrazyStat eine Statistik zur Verfügung stellen, welche es dem Seitenbetreiber erlaubt, wichtige statistische Merkmale seiner Seite zu bestimmen und trotzdem die Privatsphäre seiner Besucher zu wahren.

Optional wäre ein solches Feature natürlich denkbar (daher ist es auch auf der todo). Mit anonymisierten IPs macht es natürlich nur zum Teil Sinn, da je nach IP-Bereich ganz falsche Ergebnisse durch den IP-Dienst ausgegeben werden könnten.

Eigene IP ausschließen macht meiner Meinung nach keinen Sinn, da die wenigsten eine statische IP haben. Dafür gibt es ja die Cookie-basierte Lösung ("Seitenaufrufe dieses Computers nicht zählen" beim Login).

Gruß,
Christopher

Re: Auswertung Herkunft ?

Posted: Wed Jul 04, 2012 11:52 am
by Astrid-gast
Hallo Christopher,

ich habe gerade via Google Bildersuche mal geschaut, ob bestimmte Bilder meiner Seite auch auf anderen Seiten zu finden sind. (ich fand nur welche zu meiner eigenen Seite).
Wenn ich nun einen Treffer zu meiner Seite zum Bild anklicke, sah das so aus:

htt*://www.google.de/imgres?imgurl=http://***m ... d=0CC4Q8g0

Dann schaute ich in CrazyStat und siehe da, OBWOHL ich natürlich immer den Haken setze bei: "Seitenaufrufe dieses Computers nicht zählen" erscheint nun bei jedem dieser Treffer, den ich anklickte, ein Eintrag mit meiner IP in CrazyStat.


Vielleicht überlegst du es dir doch noch einmal ob du das Feature mit "Eigene IP ausschließen" mit einbaust. ;)

Ein weiteres Argument, warum ich gerne dieses Feature hätte ist, dass ich manchmal meine Seite ohne Login und cookies und cache testen möchte und auch mit anderen Browsern.

Liebe Grüße
Astrid

PS.: aber auch wenn du es nicht einbaust werde ich bei CrazyStat bleiben :)
PPS:: wollte mal probieren ob man hier auch als Gast schreiben kann

Re: Auswertung Herkunft ?

Posted: Mon Sep 10, 2012 3:42 pm
by cmb
Hallo,

die Auswertung des Herkunftslands fände ich auch eine sinnvolle Erweiterung. Dazu müsste man auch nicht unbedingt einen externen Dienst bemühen; unter IP Countryside kann eine Datenbank herunter geladen werden, die IP-Ranges auf Länder abbildet (ein Script, das diese Datenbank aktuell erzeugt, gibt es dort auch -- das habe ich mir aber noch nicht näher angeschaut).

Mit folgendem Script kann nun sehr schnell das Land einer IP ermittelt werden:

Code: Select all

<?php

/**
 * Converts the original database to fixed length records.
 *
 * @return  void
 */
function convertDB()
{
    $ifn = './ip2country.db';
    $ofn = './ip2country2.db';
    $ifp = fopen($ifn, 'r');
    $ofp = fopen($ofn, 'w');
    while (($line = fgets($ifp)) !== false) {
        list($from, $to, $country) = explode(' ', rtrim($line));
        $o = sprintf("%010s %010s %2s\n", $from, $to, $country);
        fwrite($ofp, $o);
    }
    fclose($ofp);
    fclose($ifp);
}


/**
 * Looks up the ISO 3166 country code in the database. 
 *
 * Uses a binary search algorithm to avoid reading the complete database.
 * Returns the country code or false, if the IP isn't assigned to a particular country.
 *
 * @param   string $ip
 * @return  string
 */
function locate($ip)
{
    $ip = sprintf('%u', ip2long($ip));
    $fn = './ip2country2.db';
    $fp = fopen($fn, 'r');
    
    $min = 0; $max = filesize($fn) / 25 - 1;
    while ($max >= $min) {
        $mid = intval(($min + $max) / 2);
        fseek($fp, 25 * $mid);
        fscanf($fp, '%10s %10s %2s', $from, $to, $country);
        if ($to < $ip) {
            $min = $mid + 1;
        } elseif ($from > $ip) {
            $max = $mid - 1;
        } elseif ($from <= $ip && $ip <= $to) {
            return $country;
        } else {
            return false;
        }
    }
    fclose($fp);
    return false;
}

//convertDB(); // this has to be called once

$start = microtime(true);
echo 'Country: ', locate('95.90.54.171'), '<br>',
    'Time: ', microtime(true) - $start, ' sec';
?>
Bevor man es nutzen kann, muss die Datenbank einmalig durch den auskommentierten Aufruf von convertDB() konvertiert werden. Danach ist der Lookup sehr schnell (< 1msec auf einem vernünftigen Server).

Vielleicht ja eine interessante Alternative zur Verwendung eines externen Dienstes.

Gruß,
Christoph

Re: Auswertung Herkunft ?

Posted: Mon Sep 10, 2012 4:10 pm
by Christopher
Hallo Christoph,

vielen Dank für deine Nachricht. Diese Datenbank bzw. das Tool sieht ja recht gut aus, ich werde mir das mal genauer ansehen. Bisher hatte ich geplant, MaxMind GeoLite zu verwenden.Das ist auch eine Datenbank zum Herunterladen.

Wenn ich Zeit habe, dies umzusetzen, werde ich auf jeden Fall beide Datenbanken und Tools vergleichen.

Auf jeden Fall nochmal viele Dank für den Hinweis.

(Etwas verspätet) noch die Antwort an Astrid: Warum bei dir deine Aufrufe trotz Cookie gezählt wurden, kann ich nicht ganz nachvollziehen. Eventuell liegt es daran, dass die Domain eine andere war (z.B. http://www.meineseite.de versus meineseite.de). Wenn du dich in CrazyStat einloggst, wird der Cookie für die Domain, über die du CrazyStat aufrufst, im Browser abgelegt. Besuchst du deine Seite über eine andere Domain (z.B. weil Google auf eine andere linkt), ohne dich auch über diese in CrazyStat eingeloggt zu haben, werden deine Aufrufe gezählt. Generell solltest du doppelten Content ohnehin vermeiden, sodass das Problem in der Regel gar nicht auftreten sollte ;-)

Das Argument, dass du deine Seite hin und wieder ohne Cookies testen willst kann ich aber durchaus nachvollziehen.
"Eigene IP blockieren" wäre vielleicht sinnvoll umsetzbar, indem man die IP, unter der man sich in CrazyStat anmeldet, für eine gewisse Zeit nicht mitzählt. Optional kann man natürlich auch statisch eine (oder mehrere) IPs angeben, die nicht geloggt werden, aber ich denke das hat nur für wenige Nutzer einen Nutzen.

Viele Grüße,
Christopher