|< 1 2 3 >| | 30 Einträge, 3 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Begin {
my @arrnameval;
my %FORMDATA;
my $querystring;
my $nam;
my $val;
my $namval;
my $ergebnis="";
my $fehlermeldung;
$FORMDATA{item}=0;
$FORMDATA{Galerie}="";
$FORMDATA{User};
}
1
2
3
4
5
6
7
8
BEGIN {
# hier dein Perlcode
# gut zum "Initialisieren"
}
END {
# hier dein Perlcode, der am Ende des Skripts laufen soll
# gut zum "Aufräumen"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
use warnings;
use strict;
print "Content-type: text/html;CHARSET=iso-8859-1\n\n";
END {
print "TEIL END ";
}
print "Hallo ";
BEGIN {
print "Teil BEGIN ";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if ($ENV{'REQUEST_METHOD'} eq 'GET')
{
my %FORMDATA; #### ALSO ZB HIER???
$querystring = $ENV{'QUERY_STRING'};
}
@arrnameval = split(/&/, $querystring);
foreach $namval (@arrnameval)
{
($nam, $val) = split(/=/, $namval
$val =~ tr/+/ /;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORMDATA{$nam} = $val;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/perl -w
use warnings;
use strict;
use CGI;
my $cgi = CGI->new();
my %FORMDATA = $cgi->Vars();
my @arrnameval = ();
my $querystring =();
my $nam =();
my $val =();
my $namval =();
my $ergebnis =();
my $fehlermeldung =();
$FORMDATA{item}=0;
$FORMDATA{Galerie}="";
$FORMDATA{User}="";
if ($ENV{'REQUEST_METHOD'} eq 'GET')
{
$querystring = $ENV{'QUERY_STRING'};
#print "$querystring<BR>";
}
if ($querystring !~ "QQitemZ") {
@arrnameval = split(/&/, $querystring);
} else {
...
..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#!/usr/bin/perl -w
use warnings;
use strict;
use CGI;
my $cgi = CGI->new();
my %FORMDATA = $cgi->Vars();
my @arrnameval = ();
my $querystring =();
my $nam =();
my $val =();
my $namval =();
my $ergebnis =();
my $fehlermeldung =();
$FORMDATA{item}=0;
$FORMDATA{Galerie}="";
$FORMDATA{User}="";
###### FormularDaten holen, die per Post übertragen wurden...
if ($ENV{'REQUEST_METHOD'} eq 'GET')
{
$querystring = $ENV{'QUERY_STRING'};
}
if ($querystring !~ "QQitemZ") {
@arrnameval = split(/&/, $querystring);
} else {
@arrnameval = split(/QQ/, $querystring);
}
foreach $namval (@arrnameval)
{
if ($querystring !~ "QQitemZ") {
($nam, $val) = split(/=/, $namval);} else {
($nam, $val) = split(/Z/, $namval);}
$val =~ tr/+/ /; # replace + with space
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; # translate hex values
$FORMDATA{$nam} = $val;
}
my $querystringa;
###### Und den Referrer auslesen....
$querystringa = $ENV{'HTTP_REFERER'};
if ($querystringa !~ "QQitemZ") {
@arrnameval = split(/&/, $querystringa);
} else {
@arrnameval = split(/QQ/, $querystringa);
}
foreach $namval (@arrnameval)
{
if ($querystringa !~ "QQitemZ") {
($nam, $val) = split(/=/, $namval);} else {
($nam, $val) = split(/Z/, $namval);}
$val =~ tr/+/ /; # replace + with space
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORMDATA{$nam} = $val;
}
my $item;
if ($FORMDATA{item} > 1) {
$item ="item=".$item."&";
} else {$item ="";}
###
### 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));
if ($buchstabe =~ /[0-9]/) {$buchstabe = "09"}
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";
exit;
} else {$Server ="www.myDomain4.de";
}
###
### Die User A - L sind nun weg...
###
if (!$FORMDATA{Image} && $FORMDATA{Bild}) { $FORMDATA{Image} = $FORMDATA{Bild}}; # Für alte Anfrage, in denen Formulfeldarname BILD anstelle von IMAGE verwendet wird
print "Content-type: image/jpg\n";
if (!$FORMDATA{item} || $FORMDATA{item} eq 0){ ### wenn der Wert item nicht existiert, erfolgt der Aufruf von einer anderen URL und soll angezeigt werden!!
print "Location: http://$Server/ebay/userdaten/$buchstabe/$FORMDATA{User}/$FORMDATA{Galerie}/$FORMDATA{Image}tn.jpg\n\n";
exit;
}
### 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?
&blacklist;
###
### 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 (( $ergebnis eq "ok" || ($FORMDATA{Image} <= $ergebnis && $ergebnis ne "0") || $ergebnis eq "")&& $ergebnis ne "0"){
print "Location: http://$Server/ebay/userdaten/$buchstabe/$FORMDATA{User}/$FORMDATA{Galerie}/$FORMDATA{Image}tn.jpg?$ergebnis\n\n";
exit;
} else {
print "Location: http://www.myDomain3.de/grafics/keinBild.gif\n\n";
exit;
}
### FERTIG
sub blacklist {
use CGI::Carp qw(fatalsToBrowser);
use Fcntl qw(:DEFAULT :flock);
use CGI qw(:standard);
use CGI;
use Apache::DBI();
use DBI;
my $datenbank = "blacklist";
my $datenbankhost = "localhost";
my $datenbankuser = "xxx";
my $datenbankpw = "yyy";
##########################################################
$fehlermeldung = "<li>Fehler bei der Datenbankverbindung aufgetreten. Bitte ueberpruefen Sie die Angaben";
my $dbh = DBI->connect("DBI:mysql:$datenbank:$datenbankhost","$datenbankuser","$datenbankpw") || fehlerausgabe($fehlermeldung);
##########################################################
my $sth = $dbh->prepare("SELECT art FROM `blacklist` WHERE item = '$FORMDATA{item}' and Galerie = '$FORMDATA{Galerie}' ");
$sth->execute or die DBI->errstr;
$ergebnis = $sth->fetchrow_array();
$dbh->disconnect; # DB Connect beenden
}# Ende sub
sub fehlerausgabe{
print $fehlermeldung;
}
|< 1 2 3 >| | 30 Einträge, 3 Seiten |