Auswertung Herkunft ?

Post your ideas on features for CrazyStat, improvements, wishes etc. here.
Forum rules
You can find my list of todos here to see what is already planned for CrazyStat. But feel free to request anything that comes to your mind, even if it is already on the list (but don't complain if I just answer "already on the todo" then... ;-) ). A "+1" reply is always welcome.

Preferred language of discussion is English so most users can profit from your threads, but German is okay as well.

Bevorzugte Sprache ist Englisch, damit möglichst viele Nutzer von den Threads profitieren können, aber Deutsch wird auch akzeptiert.
Post Reply
Moondust

Auswertung Herkunft ?

Post by Moondust » Thu Mar 08, 2012 4:49 pm

Ich vermisse eine Auswertung der Herkunftsländer !

Christopher
Site Admin
Posts: 160
Joined: Sat Mar 03, 2012 10:30 pm
Location: Germany

Re: Auswertung Herkunft ?

Post by Christopher » Sat Mar 10, 2012 4:12 pm

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
I try to support my users as best as I can.
Please support me and CrazyStat in return. Thanks.

Astrid
Posts: 28
Joined: Wed May 09, 2012 6:34 pm

Re: Auswertung Herkunft ?

Post by Astrid » Fri May 18, 2012 7:40 pm

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)

Christopher
Site Admin
Posts: 160
Joined: Sat Mar 03, 2012 10:30 pm
Location: Germany

Re: Auswertung Herkunft ?

Post by Christopher » Sun May 20, 2012 6:25 pm

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
I try to support my users as best as I can.
Please support me and CrazyStat in return. Thanks.

Astrid-gast

Re: Auswertung Herkunft ?

Post by Astrid-gast » Wed Jul 04, 2012 11:52 am

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

cmb
Posts: 7
Joined: Mon Sep 10, 2012 3:22 pm

Re: Auswertung Herkunft ?

Post by cmb » Mon Sep 10, 2012 3:42 pm

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

Christopher
Site Admin
Posts: 160
Joined: Sat Mar 03, 2012 10:30 pm
Location: Germany

Re: Auswertung Herkunft ?

Post by Christopher » Mon Sep 10, 2012 4:10 pm

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
I try to support my users as best as I can.
Please support me and CrazyStat in return. Thanks.

Post Reply