Hi all !
Also das ist mal mein Test-Script geworden. Vielleicht ist ja jemand so freundlich und übt ein wenig konstruktive Kritik resp. der vielen Umwege bzw. ist es noch möglich in der Eingabe zu tricksen ? Danke an alle Helfer !
Grüsse Gustl
#!/usr/bin/perl
use CGI qw/:standard/;
use strict;
use CGI::Carp qw/fatalsToBrowser/;
use Image::Size qw(imgsize);
use LWP::Simple qw(get head);
use LWP::UserAgent;
my $ziel="http://www.";
my $bild="http://www.";
my $ausgabe; my $back; my $yachse=240; my $xachse=320; my $isize=10241;
my @types=("text/html","JPG","GIF","PNG");
my @ends=("htm","jpg","jpeg","gif","png");
$ziel=lc($ziel); $bild=lc($bild); $ziel=~s/ //g; $bild=~s/ //g;
$ziel=~s/\/+$//g; $bild=~s/\/+$//g;
unless($ziel){$ziel="Ist leer";} unless($bild){$bild="Ist leer";}
my $pz=$ziel; $pz=~s/(.*)\.//g; my $pb=$bild; $pb=~s/(.*)\.//g;
my @ms=split(/;/,(LWP::UserAgent->new->get($ziel)->header('Content-type')));
my $h_end; if($pz=~/$ends[0]/){$h_end=1;}
my $h_typ; if($ms[0]=~/$types[0]/){$h_typ=1;}
if ((head $ziel)&&($h_end)&&($h_typ))
{
$ausgabe="Deine URI: <font color=blue>Ist erreichbar und wurde akzeptiert</font><br><br>";
}
else
{
$back=1;
$ausgabe="<font color=red>Deine URI entspricht nicht den Vorgaben oder ist nicht erreichbar</font><br><br>
Eingabe: <font color=red>$ziel</font><br><br>";
}
my $img=get $bild; my ($x,$y,$type)=imgsize \$img; my $size=length $img;
my $i_end; if(($pb=~/$ends[1]/)||($pb=~/$ends[2]/)||($pb=~/$ends[3]/)||($pb=~/$ends[4]/)){$i_end=1;}
my $i_typ; if(($type=~/$types[1]/)||($type=~/$types[2]/)||($type=~/$types[3]/)){$i_typ=1;}
my $i_sp; if(($size < $isize)&&($size ne 0)){$i_sp=1;}
my $i_ka; if(($x eq $xachse)&&($y eq $yachse)){$i_ka=1;}
if ((head $bild)&&($i_end)&&($i_typ)&&($i_sp)&&($i_ka))
{
$ausgabe="$ausgabe Dein Bild: <font color=blue>Ist erreichbar und wurde akzeptiert</font><br><br>";
}
else
{
$back=1;
$ausgabe="$ausgabe <font color=red>Dein Bild entspricht nicht den Vorgaben oder ist nicht erreichbar</font><br><br>";
unless((head $bild)&&($i_end)&&($i_typ))
{
$ausgabe="$ausgabe Eingabe: <font color=red>$bild</font><br><br>";
goto weiter;
}
$ausgabe="$ausgabe Eingabe: $bild<br><br>";
$ausgabe="$ausgabe Mime-Type: $type<br><br>";
my $kbyte=sprintf("%.3f",($size / 1024));
unless($i_sp)
{
$ausgabe="$ausgabe Grösse: <font color=red>$size in Byte ($kbyte in Kilobyte)</font><br><br>";
goto weiter;
}
$ausgabe="$ausgabe Grösse: $size in Byte ($kbyte in Kilobyte)<br><br>";
unless($i_ka)
{
$ausgabe="$ausgabe Maße Höhe/Breite: <font color=red>$y x $x in Pixel</font><br><br>";
}
}
weiter:
if($back)
{
$ausgabe="$ausgabe Das war nix. Probier was anderes";
}
print header('text/html');
print "$ausgabe";
unless ($back)
{
print"Das war gut. Probier trotzdem was anderes";
}