geht nicht
Chrischaaan
- perl
hallo
ich habe mir heute folgendes script runtergeladen und das geht aber nicht so ganz weil der ständig die seiten und alles im web sucht obwohl eigentlich kein befehl mehr auf die ursprungsseite zeigt.
könnt ihr mir das mal so ändern das es wieder geht?
#!/usr/local/bin/perl
$correctpass = "passwort";
$correcturl = "correct.html";
$scriptlocation = "password.cgi";
&parse_form;
$password = $input{'password'};
$function = $input{'function'};
if ($function eq "post") {
if ($password eq $correctpass) {
&goto_url;
}
&badpassword;
}
&ask_password;
sub badpassword {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Invalid Password</Title></HEAD>\n";
print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
print "<CENTER><H2>Invalid Password</H2></CENTER><BR>\n";
print "</BODY>\n";
print "</HTML>\n";
exit;
}
sub ask_password {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Editor</Title></HEAD>\n";
print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
print "<Center><FONT SIZE=6 COLOR=0000A0><CODE>Please Enter Your Password</CODE></FONT>\n";
print "<BR><BR><BR><TABLE WIDTH=75% Border=10><TR><TD><CENTER><BR>\n";
print "<FORM ACTION=$scriptlocation>\n";
print "<INPUT TYPE=password NAME=password SIZE=15>\n";
print "<INPUT TYPE=hidden NAME=function VALUE=post>\n";
print "<INPUT TYPE=submit VALUE=" Verify Me ">\n";
print "</FORM>\n";
print "</CENTER></TD></TR></TABLE>\n";
print "<FONT SIZE=2 COLOR=000080>Password Script - brought to you by The <A HREF="http://technotrade.com/cgi">Techno Trade CGI Archive</A></FONT>\n";
print "</CENTER></BODY></HTML>\n";
exit;
}
sub goto_url {
print "Location: $correcturl\n\n";
}
sub parse_form {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if (length($buffer) < 5) {
$buffer = $ENV{QUERY_STRING};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$input{$name} = $value;
}
}
bye,christian
hallo
ich habe mir heute folgendes script runtergeladen und das geht aber nicht so ganz weil der ständig die seiten und alles im web sucht obwohl eigentlich kein befehl mehr auf die ursprungsseite zeigt.
könnt ihr mir das mal so ändern das es wieder geht?
#!/usr/local/bin/perl
Change these variables with your own values
$correctpass = "passwort";
$correcturl = "correct.html";
$scriptlocation = "password.cgi";
Read in form data
&parse_form;
$password = $input{'password'};
$function = $input{'function'};
if ($function eq "post") {
if ($password eq $correctpass) {
&goto_url;
}
&badpassword;
}
&ask_password;
sub badpassword {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Invalid Password</Title></HEAD>\n";
print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
print "<CENTER><H2>Invalid Password</H2></CENTER><BR>\n";
print "</BODY>\n";
print "</HTML>\n";
exit;
}
sub ask_password {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Editor</Title></HEAD>\n";
print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
print "<Center><FONT SIZE=6 COLOR=0000A0><CODE>Please Enter Your Password</CODE></FONT>\n";
print "<BR><BR><BR><TABLE WIDTH=75% Border=10><TR><TD><CENTER><BR>\n";
print "<FORM ACTION=$scriptlocation>\n";
print "<INPUT TYPE=password NAME=password SIZE=15>\n";
print "<INPUT TYPE=hidden NAME=function VALUE=post>\n";
print "<INPUT TYPE=submit VALUE=" Verify Me ">\n";
print "</FORM>\n";
print "</CENTER></TD></TR></TABLE>\n";
print "<FONT SIZE=2 COLOR=000080>Password Script - brought to you by The<!-- <A HREF="http://technotrade.com/cgi">Techno Trade CGI Archive</A>--></FONT>\n";
print "</CENTER></BODY></HTML>\n";
exit;
}
sub goto_url {
print "Location: $correcturl\n\n";
}
sub parse_form {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if (length($buffer) < 5) {
$buffer = $ENV{QUERY_STRING};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$input{$name} = $value;
}
}
bye,christian
hey,
weiss ja nicht so genau ob du den Link nicht bemerkt hast oder ob der von dir da reingeschrieben wurde ,habe aber den Link von dem ich ausging das er der verantwortlich ist mal auskommentiert (nach HTML Art, für cgi braucht man ja glaube ich die c kommentierung mit /*textexttextetext*/ ),aber du kannst dir den Code ja jetzt mal kopieren und mit beiden Varianten mal ausprobieren...
Nur so ne Idee...
Der Link in deinem Code lautet :"<A HREF="http://technotrade.com/cgi">Techno Trade CGI Archive</A>"
mfg Chris (-;
use Mosche;
[Fullquote]
Bitte lies und verstehe http://learn.to/quote. Dein Fullquote ist Datenmüll.
für cgi braucht man ja glaube ich die c kommentierung mit /*textexttextetext*/ ),
Ein hervorragendes Beispiel dafür, daß man, wenn man keine Ahnung hat, einfach mal ruhig sein sollte (war jetzt nicht bös gemeint).
Wenn er ein Programm schreibt, daß die CG-Schnittstelle (CGI) benutzen soll, dann ändert sich an der programmierspezifischen Kommentierung nichts. Also - bei Perl-CGI-Scripten: wie gehabt ein #, und der Rest der Zeile ist Kommentar.
use Tschoe qw(Matti);
hallo
ich habe mir heute folgendes script runtergeladen und das geht aber nicht so ganz weil der ständig die seiten und alles im web sucht obwohl eigentlich kein befehl mehr auf die ursprungsseite zeigt.
könnt ihr mir das mal so ändern das es wieder geht?
#!/usr/local/bin/perl
Change these variables with your own values
$correctpass = "passwort";
$correcturl = "correct.html";
$scriptlocation = "password.cgi";
Read in form data
&parse_form;
$password = $input{'password'};
$function = $input{'function'};
if ($function eq "post") {
if ($password eq $correctpass) {
&goto_url;
}
&badpassword;
}
&ask_password;
sub badpassword {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Invalid Password</Title></HEAD>\n";
print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
print "<CENTER><H2>Invalid Password</H2></CENTER><BR>\n";
print "</BODY>\n";
print "</HTML>\n";
exit;
}
sub ask_password {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Editor</Title></HEAD>\n";
print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
print "<Center><FONT SIZE=6 COLOR=0000A0><CODE>Please Enter Your Password</CODE></FONT>\n";
print "<BR><BR><BR><TABLE WIDTH=75% Border=10><TR><TD><CENTER><BR>\n";
print "<FORM ACTION=$scriptlocation>\n";
print "<INPUT TYPE=password NAME=password SIZE=15>\n";
print "<INPUT TYPE=hidden NAME=function VALUE=post>\n";
print "<INPUT TYPE=submit VALUE=" Verify Me ">\n";
print "</FORM>\n";
print "</CENTER></TD></TR></TABLE>\n";
print "<FONT SIZE=2 COLOR=000080>Password Script - brought to you by The<!-- <A HREF="http://technotrade.com/cgi">Techno Trade CGI Archive</A>--></FONT>\n";
print "</CENTER></BODY></HTML>\n";
exit;
}
sub goto_url {
print "Location: $correcturl\n\n";
}
sub parse_form {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if (length($buffer) < 5) {
$buffer = $ENV{QUERY_STRING};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$input{$name} = $value;
}
}
bye,christian
hey,
weiss ja nicht so genau ob du den Link nicht bemerkt hast oder ob der von dir da reingeschrieben wurde ,habe aber den Link von dem ich ausging das er der verantwortlich ist mal auskommentiert (nach HTML Art, für cgi braucht man ja glaube ich die c kommentierung mit /*textexttextetext*/ ),aber du kannst dir den Code ja jetzt mal kopieren und mit beiden Varianten mal ausprobieren...
Nur so ne Idee...
Der Link in deinem Code lautet :"<A HREF="http://technotrade.com/cgi">Techno Trade CGI Archive</A>"
mfg Chris (-;
das is ja was andres.das is das was unter der tabelle steht wo man das passwort eingeben muß.da hat der sich zu seiner seite verlinkt
use Mosche;
auch an dich: kürze bitte das Zitat auf das, was du wirklich benötigst: http://learn.to/quote.
use Tschoe qw(Matti);
Hallo,
auf Anhieb sehe ich auch keinen Verweis auf eine externe Adresse. Vielleicht:
Change these variables with your own values
$correctpass = "passwort";
$correcturl = "correct.html";
unzureichende Pfadangabe?
$scriptlocation = "password.cgi";
&goto_url;
Viele Grüße
Mathias Bigge
use Mosche;
ich habe mir heute folgendes script runtergeladen und das geht aber nicht so ganz weil der ständig die seiten und alles im web sucht obwohl eigentlich kein befehl mehr auf die ursprungsseite zeigt.
könnt ihr mir das mal so ändern das es wieder geht?
Das Script ist an sich nicht unbedingt gut (was Programmierstil angeht, halte ich mich mal zurück). Auf jeden Fall scheint es veraltet zu sein.
#!/usr/local/bin/perl
use strict;
Change these variables with your own values
$correctpass = "passwort";
$correcturl = "correct.html";
$scriptlocation = "password.cgi";
Read in form data
&parse_form;
use CGI qw(param);
$password = $input{'password'};
$function = $input{'function'};
my $password = param('password';
my $function = param('function');
if ($function eq "post") {
if ($password eq $correctpass) {
Ist unnötig. Es reicht:
if ($password && $correctpass eq $password) {
}
Den gesamten function Mist kannst du dir dann sparen.
&goto_url;
goto_url(); # &... ist veraltet (Perl 4)
sub badpassword {
[viele einzelne print Befehle]
print <<EOF;
dein HTML-Code
EOF;
So, jetzt nochmal verbessert:
#!/usr/local/bin/perl
use CGI qw(param header);
$correctpass = "passwort";
$correcturl = "/correct.html"; # jeweils absolute Pfade angeben
$scriptlocation = "/cgi-bin/password.cgi";
$password = param('password');
if ($password) {
if ($password eq $correctpass) {
&goto_url;
} else {
&badpassword;
}
} else {
&ask_password;
}
sub badpassword {
print header; # deinen restlichen HTML-Müll räume ich _nicht_ auf
print <<EOF;
<HTML>
<HEAD><TITLE>Invalid Password</Title></HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>
<CENTER><H2>Invalid Password</H2></CENTER><BR>
</BODY>
</HTML>
EOF
exit;
}
sub ask_password {
print header; # deinen restlichen HTML-Müll räume ich _nicht_ auf
print <<EOF;
<html>
<head>
<title>Editor</title>
</head>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>
<Center><FONT SIZE=6 COLOR=0000A0><CODE>Please Enter Your Password</CODE></FONT>\n";
<BR><BR><BR><TABLE WIDTH=75% Border=10><TR><TD><CENTER><BR>
<FORM ACTION="$scriptlocation">
<INPUT TYPE=password NAME=password SIZE=15>
<INPUT TYPE=hidden NAME=function VALUE=post>
<INPUT TYPE=submit VALUE="Verify Me">
</FORM>
</CENTER></TD></TR></TABLE>
<FONT SIZE=2 COLOR=000080>Password Script - brought to you by The <A HREF="http://technotrade.com/cgi">Techno Trade CGI Archive</A></FONT>
</CENTER></BODY></HTML>
EOF
exit;
}
sub goto_url {
print "Location: $correcturl\n\n";
}
use Tschoe qw(Matti);
könnt ihr mir vieleicht ein aktuelles passwortprogramm geben was auf anhieb funktioniert??
könnt ihr mir vieleicht ein aktuelles passwortprogramm geben was auf anhieb funktioniert??