McDylan: ?? zugriffskontrolle

Hallo alle miteinander.
Frage: wie kann ich den zugriff auf Programme die auf meiner Seite angeboten werden nachvollziehen?
Ich möchte gerne wissen wie oft welches Programm herruntergeladen wurde um einen Überblick zubekommen, welche Rubrik sich lohnt und welche ich rausnehmen kann. Mit welcher Art von Script kann man das erreichen.

Oki danke für eure hilfe schon mal

Gruß
McDylan

  1. Hallo alle miteinander.
    Frage: wie kann ich den zugriff auf Programme die auf meiner Seite angeboten werden nachvollziehen?
    Ich möchte gerne wissen wie oft welches Programm herruntergeladen wurde um einen Überblick zubekommen, welche Rubrik sich lohnt und welche ich rausnehmen kann. Mit welcher Art von Script kann man das erreichen.

    Eigendlich jeder Webserver erstellt Logfiles, die du dir anschauen kannst. Da steht alles drin. Frag mal deinen Provider.

  2. hi!

    Ich möchte gerne wissen wie oft welches Programm herruntergeladen wurde um einen
    Überblick zubekommen, welche Rubrik sich lohnt und welche ich rausnehmen kann. Mit
    welcher Art von Script kann man das erreichen.

    Hier ein kurzes Skript, das ich mal geschrieben habe:

    === cut ===
    #!/usr/bin/perl

    my $url = $ENV{'HTTP_REFERER'};
    my %p = &getParam;
    my $stat = $p{'stat'} "stat";
    $stat .= ".txt";

    if ($p{'id'})
    {
      my %url = ( heise    => "http://www.heise.de",
                  krit     => "http://rare.de/krit/",
                  selfhtml => "http://www.teamone.de/selfaktuell/",
                  slashdot => "http://slashdot.org");
      $url = $url{$p{'id'}};
    } elsif ($p{'url'}) {
      $url = $p{'url'};
    }

    open FILE, ">>$stat";
    my $time = scalar localtime;
    print FILE "$time - $url\n";
    close FILE;

    print "Location: $url\n\n";

    sub getParam
    {
      if ($ENV{'REQUEST_METHOD'} eq "GET")
      {
        $EnvDaten = $ENV{'QUERY_STRING'};
      } else {
        read STDIN, $EnvDaten, $ENV{'CONTENT_LENGTH'};
      }

    for (split /&/, $EnvDaten)
      {
        my ($key, $value) = split /=/;
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9]{2})/pack("C", hex($1))/eg;
        $value =~ s/</</g;
        $value =~ s/>/>/g;
        $p{$key} = $value;
      }
      return %p;
    }
    === cut ===

    Aufruf:
      go.pl?stat=NameDerStatistik&url=http://die.url.com
      go.pl?stat=NameDerStatistik&id=selfhtml

    Für die zweite Möglichkeit musst du im Hash %url die Abkürzungen eintragen.

    In NameDerStatistik.txt landen dann Datum, Uhrzeit und URL, die angeklickt wurden (allerdings der Reihe nach, also nicht ausgewertet).

    Um das Skript zu verwenden, musst du alle deine Links, die gezählt werden sollen, austauschen.

    bye, Frank!

  3. Ich möchte gerne wissen wie oft welches Programm herruntergeladen wurde um einen Überblick zubekommen, welche Rubrik sich lohnt und welche ich rausnehmen kann. Mit welcher Art von Script kann man das erreichen.

    Viele Wege führen nach Rom.

    Ich nehme mal den "UNIX way" für meinen Apache-Webserver:

    awk '{print $7}' access_log sort uniq -c sort -nr

    Schön kurz, nicht wahr?

    a) awk 'print $7' gibt die 7. Spalte der Log-Datei (im Standardformat, Leerzeichen als Trenner) aus. Da steht die angesprochene URL drin.
    b) sort sortiert diese Werte (als Zeichenketten).
    c) uniq -c faßt aufeinanderfolgende gleiche Zeilen zusammen und generierte davor (!) eine zusätzliche Spalte mit der Anzahl der zusammengefaßten Werte.
    d) Nochmal sort -nr sortiert die Werte (numeric reverse), also die höchste Trefferanzahl nach vorne.

    shell is' was Nettes ...