Chrischaaan: geht nicht

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

  1. 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 (-;

    1. 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);

    2. 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

      1. 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);

  2. 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

  3. 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";

    in einer CGI Umgebung ist das aktuelle Verzeichnis undefiniert

    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);

    Change these variables with your own values

    $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";
    }

    so sollte es jetzt funktionieren

    use Tschoe qw(Matti);

    1. könnt ihr mir vieleicht ein aktuelles passwortprogramm geben was auf anhieb funktioniert??

      1. könnt ihr mir vieleicht ein aktuelles passwortprogramm geben was auf anhieb funktioniert??

        http://aktuell.de.selfhtml.org/artikel/server/htaccess/