Thread Fehler beim Aufrufen des CGI-Skriptes: Fehler beim Aufrufen des CGI-Skriptes (6 answers)
Opened by sde42dn at 2006-10-26 13:20

renee
 2006-10-26 13:36
#8929 #8929
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
der Code mal etwas angepasst, damit es weniger Sicherheitslücken gibt (ungetestet!):
Code: (dl )
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
#!/usr/bin/perl

use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use Spreadsheet::WriteExcel;

my $cgi = CGI->new();
my %FORM = $cgi->Vars();

print $cgi->header();

my $PFAD="/perf_Data/Server";

# zum testen
$FORM{Serverliste}='dcbpc111';
$FORM{Monat}=10;
$FORM{Tag}=24;
$FORM{Perftyp}='CPU';

check_input(\%FORM);


my $IN = "$PFAD/$FORM{Serverliste}/$FORM{Monat}/$FORM{Tag}/$FORM{Perftyp}/$FORM{Serverliste}.cpu"; # Eingabedatei
my $OUT = "/perf_Data/tmp/$FORM{Serverliste}.cpu.xls"; # Ausgabe-(Excel)-Datei

my $book = Spreadsheet::WriteExcel->new($OUT);
my $sheet = $book->addworksheet();
my $format = $book->addformat(font => "Arial", size => 8);
my $row=0;
my @header = ("Run-Queue","Block-Queue","Wait-Queue", "User-CPU","System-CPU", "Ges-CPU", "Zeit",);

# Titel in Excel setzen
$sheet->write_row($row, 0,\@header , $format);

open IN, "<",$IN or die "Can not open $IN: $!";
while(<IN>) {
chomp;
$sheet->write_row(++$row, 0, [(split/\s+/,$_)[0..6]], $format);
}
close IN;


$book->close();

sub check_input{
my ($hashref) = @_;
if($hashref->{Monat} !~ /^[01][0-9]$/ or
$hashref->{Tag} !~ /^[0-3][0-9]$/ or
$hashref->{Serverliste} !~ /^dcb[^\s]+$/ or
!grep{$_ eq $hashref->{Perftyp}}(qw(CPU platten1 memory))){
print $cgi->h2('Fehler bei den Eingaben');
exit;
}
}
\n\n

<!--EDIT|renee|1161855871-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Fehler beim Aufrufen des CGI-Skriptes: Fehler beim Aufrufen des CGI-Skriptes