Avatar billede metaph Nybegynder
17. november 2002 - 15:03 Der er 2 kommentarer og
1 løsning

FreeCGI

Jeg er af den opfattelse at copyright er noget bavl - derfor har jeg skrevet følgende script så gæster nemt kan glo kilden af mine cgi-scripts igennem:

#!/usr/bin/perl
# Written by D. Andersen 2002. No need for Copyright.
# Last updated Sun Nov 17 14:13:24 CET 2002.

$directory = "/cgi-bin";
$ls = `ls -b`;
$uncut = <STDIN>;

%details = split (/=/, $uncut);
while (($name, $file) = each %details) {
  open(INFO, $file);
    @script = <INFO>;
  close(INFO);
}

print "Content-type: text/html\n\n";
print "<html>
  <head>
    <title>FreeCGI</title>
  </head>

  <body>
    <p>List of files located in the directory $directory</p>
    <pre>$ls</pre>
    <form action='$directory/freecgi.pl' method='post'>
      <input type='text' name='name'>
      <input type='submit' value='View'>
    </form>
    <form>
      <textarea cols='100' name='code' rows='25'>";
print @script;
print "
      </textarea>
    </form>
  </body>
</html>";

Som i nok har fanget bruger jeg en ls -b kommando til at vise indholdet af cgi-bin, og en enkel form hvor man manuelt skal indtaste filnavnet, hvorefter man kan se koden i et textarea.

Det ville være lidt federe hvis man f.eks kunne gøre alle linier i listen over filer til links så man ikke behøver at taste fil navnet ind manuelt. Kan dette lade sig gøre?
Avatar billede metaph Nybegynder
19. november 2002 - 22:25 #1
well, jeg kan vel lige så godt lukke det her.
Avatar billede thomasledet Nybegynder
26. november 2002 - 01:37 #2
uha... systemkald er en farlig ting... hvorfor ikke bruge perl's indbyggede readdir til at få filnavne med?
Avatar billede thomasledet Nybegynder
26. november 2002 - 01:40 #3
noget i retning af

$mitdir = '/var/guld/tis/';

opendir(DIR, $mitdir) or die("Can't open $mitdir: $!\n");
while (defined($file = readdir(DIR))) {
// gør ting ved $file
}
closedir(DIR)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester