#!/usr/bin/perl -w use warnings; use strict; use CGI; use CGI::Carp qw/fatalsToBrowser/; use DBI; my $cgi = CGI->new(); my %FORMDATA = $cgi->Vars(); $FORMDATA{User}="" unless(exists($FORMDATA{User})); $FORMDATA{Galerie}="" unless(exists($FORMDATA{User})); $FORMDATA{item}=0 unless(exists($FORMDATA{User})); ### ### Aufrufen nach User A-L und M - Z aufteilen, um zur Lastverteilung die hälfte der Aufrufe von einem anderen Server durchführen zu lassen... ### my $buchstabe=lc(substr($FORMDATA{User}, 0,1)); $buchstabe = "09" if ($buchstabe =~ /[0-9]/); my $Server; if ($buchstabe =~ /[a-l]/) { print "Location: http://www.myDomain6.de/cgi-perl/imagetn.pl?".$item."User=$FORMDATA{User}&Galerie=$FORMDATA{Galerie}&Image=$FORMDATA{Image}\n\n"; } else { $Server ="www.myDomain4.de"; ### ### Die User A - L sind nun weg... ### ### wenn der Wert item nicht existiert, erfolgt der Aufruf von einer anderen URL und soll angezeigt werden!! if (!exists($FORMDATA{item}) || $FORMDATA{item} eq 0) { print "Location: http://$Server/ebay/userdaten/$buchstabe/$FORMDATA{User}/$FORMDATA{Galerie}/$FORMDATA{Image}tn.jpg\n\n"; } else { # Für alte Anfrage, in denen Formulfeldarname BILD anstelle von IMAGE verwendet wird $FORMDATA{Image} = $FORMDATA{Bild} if (!$FORMDATA{Image} && $FORMDATA{Bild}); print "Content-type: image/jpg\n"; ### Wenn der Wert item doch existiert (= Bildaufruf erfolgt aus einer eBay-Auktion), soll in einer Blacklist überprüft werden, ### ob dieses Bild für diese Auktion (=item) gespert ist. ##Blacklist? my $ergebnis = &blacklist($FORMDATA{item},$FORMDATA{Galerie}); ### ### Mögliche Ausgaben der DB: ### 0 = Alle Bilder gesperrt. ### 6: Alle Bilder über 6 gesperrt (0-5 erlaubt), ### "ok"= ALLE Bilder dürfen angezeigt werden, ### "": Eintrag existiert nicht -> alle Bilder anzeigen ### if (($FORMDATA{Image} <= int($ergebnis) and int($ergebnis) > 0) or $ergebnis eq 'ok' or $ergebnis eq '') { print "Location: http://$Server/ebay/userdaten/$buchstabe/$FORMDATA{User}/$FORMDATA{Galerie}/$FORMDATA{Image}tn.jpg?$ergebnis\n\n"; } else { print "Location: http://www.myDomain3.de/grafics/keinBild.gif\n\n"; } } } ### FERTIG sub blacklist { my ($item,$galerie)=@_; my $datenbank = "blacklist"; my $datenbankhost = "localhost"; my $datenbankuser = "xxx"; my $datenbankpw = "yyy"; $fehlermeldung = 'Fehler bei der Datenbankverbindung aufgetreten. Bitte ueberpruefen Sie die Angaben'; #DB Connect herstellen my $dbh = DBI->connect("DBI:mysql:$datenbank:$datenbankhost","$datenbankuser","$datenbankpw") or fehlerausgabe($fehlermeldung); my $sth = $dbh->prepare("SELECT art FROM 'blacklist' WHERE item = '$item' and Galerie = '$galerie' "); $sth->execute or fehlerausgabe(DBI->errstr); my ($ergebnis) = $sth->fetchrow_array(); # DB Connect beenden $dbh->disconnect; # Egebniss zurück return $ergebnis; }# Ende sub sub fehlerausgabe { die $_[0]; }