...naar de homepagina
 
 

CGI en Perl

Perl is de taal waarin vrijwel alle CGI scripts geschreven worden. Met CGI scripts brengt u -evenals met PHP-scripts- interactiviteit in uw website. Perl is flexibeler dan PHP en er is ook meer mogelijk. Daartegenover staat dat Perl lastiger te leren is en meestal meer code gebruikt wordt om een gelijk resultaat te bereiken als in PHP.

Veel scripts downloadt u bij CGI-resources en Hotscripts. U dient te kiezen voor de scripts die voor Linux/Unix webservers zijn gemaakt. In de blokken hieronder vindt u een aantal voorbeeldscripts die u in uw website kunt gebruiken.

Paden die u in veel CGI scripts nodig heeft:

Absolute paden:

  • pad naar Perl: /usr/bin/perl
  • pad naar uw website:
    Plesk: /var/www/vhosts/uwdomeinnaam/httpdocs
    Cobalt: /home/sites/www.uwdomeinnaam/web
  • pad naar cgi-bin directory op uw website:
    Plesk: /var/www/vhosts/uwdomeinnaam/httpdocs/cgi-bin
    Cobalt: /home/sites/www.uwdomein.com/web/cgi-bin
  • pad naar Sendmail: /usr/sbin/sendmail
  • pad naar datum: /bin/date

Relatieve paden:

U kunt op 2 verschillende manieren het pad naar uw script of andere bestanden en directory's aangeven:

  • door met een / te beginnen.
    Voorbeeld: u wilt een verwijzing maken naar een bestand met de naam gastenboek.pl in de directory cgi-bin. Dit kan als volgt:
    /cgi-bin/gastenboek.pl
  • door http:// erbij te gebruiken.
    In het voorbeeld van hierboven is dat:
    http://www.uwdomeinnaam/cgi-bin/gastenboek.pl

Let erop dat u voor CGI scripts in de directory /httpdocs/ (Plesk) resp. /web/ (Cobalt) een directory aanmaakt met de naam cgi-bin en daar uw scripts in plaatst.

Verder is belangrijk dat u de scripts (.cgi en .pl worden ondersteund) uploadt/ publiceert met Filezilla of een ander FTP-programma in ASCII modus (doet Filezilla automatisch) en de scripts daarna activeert volgens de handleiding die bij het script wordt meegeleverd. In Filezilla gaat u daarvoor op het script op de server staan en klikt u met de rechtermuistoets op het script; in het opklapmenu kiest u voor File Atrributes en u selecteert de vervolgopties zoals ze in de handleiding van het script staan.

U kunt geen CGI scripts gebruiken indien u uw website met Frontpage publiceert. Frontpage ondersteunt namelijk het zogenaamde uitvoerbaar maken van CGI scripts niet.

 

e-mailformulier (formmail)
  • Download het FormMail.pl bestand door hier te klikken (verpakt als .zip)
  • Pak het ZIP-bestand uit en sla FormMail.pl op
  • Open FormMail.pl met Kladblok/Notepad, ga naar regel 39 en verander de teksten uw-domeinnaam.com en www.uw-domeinnaam.com in uw eigen domeinnaam en www.uw eigen domeinnaam; de aanhalingstekens dient u te laten staan.
    Indien u een e-mailadres wilt gebruiken anders dan naam@uw-domeinnaam.com, dient u in het script, regel 45 "@recipients = &fill_recipients(@referers);" te vervangen door de regel:
    @recipients = ('ander-e-mailadres');
  • Nadat u dit bestand opgeslagen heeft, opent u Filezilla en maakt u verbinding met de server.
  • In uw webruimte (rechts) maakt u een directory aan met de naam cgi-bin door in dit rechter witte vlak met de rechtermuistoets te klikken en te kiezen voor Create Directory.
  • Kopieer het bestand FormMail.pl van uw eigen pc (links) naar uw webruimte door het van links naar rechts te slepen
  • Activeer FormMail.pl door in uw webruimte met de rechtermuistoets op FormMail.pl te klikken en te kiezen voor File Attributes; vul bij Numeric Value 755 in.
  • Het script is geactiveerd. Nu moet u nog een verwijzing in uw website naar het script maken (in de HTML):

<form method="POST" action="/cgi-bin/FormMail.pl">

Afzender: <input type="text" name="email" size="20">
<input type="hidden" name="recipient" value="info@uwdomeinnaam">
<input type="hidden" name="subject" value="E-mail via website">
<input type="hidden" name="redirect" value="/bedankt.htm">

<textarea name="txt" rows="7" cols="40" align="left"></textarea>
<input type="submit" value="verzenden">

</form>

uitleg van de HTML:

* regel 1 'form method' geeft aan waar het script staat;
* regel 2 'email' staat een afzender e-mailadres toe;
* regel 3 'input ... recipient' geeft aan waar de e-mail bezorgd wordt; hier geeft u dus uw eigen e-mailadres op;
* regel 4 'input ... subject' geeft aan wat het onderwerp van de e-mail is;
* regel 5 'input ... redirect' geeft aan waar de internetgebruiker heen gestuurd wordt als hij zijn e-mail heeft verzonden (let op: de internetgebruiker staat dan in de directory /cgi-bin/);
* regel 6 'textarea' geeft aan dat er een tekstvak komt met 7 rijen en 40 posities breed;
* regel 7 'input ... submit' is het vakje waar verzenden op staat;
* regel 8 '/form' geeft het einde van het formulier aan.

 

 

 

beveiligde directory's

Met het volgende script kunt u uw directory's afschermen met een gebruikersnaam en wachtwoord. Het is belangrijk de aanwijzingen te volgen en de directory met het bestand acepassword.cgi te beveiligen.

Staat uw website op een Plesk-server? Dan hoeft u deze handleiding niet te volgen, maar logt u in op de beheerschermen https://www.uwdomeinnaam:8443/, gaat u naar Home >> Protected Directories >> Add New Directory en vult u de bestaande directory die beveiligd moet worden.

  • Download het acepassword.cgi bestand door hier te klikken (verpakt als .zip)
  • Pak het ZIP-bestand uit en sla acepassword.cgi op
  • Nadat u acepassword.cgi opgeslagen heeft, opent u Filezilla en maakt u verbinding met de server.
  • In uw webruimte (rechts) maakt u een directory aan met de naam wachtwoord door in dit rechter witte vlak met de rechtermuistoets te klikken en te kiezen voor Create Directory.
  • Kopieer het bestand acepassword.cgi van uw eigen pc (links) naar uw webruimte door het van links naar rechts te slepen
  • Activeer acepassword.cgi door in uw webruimte met de rechtermuistoets op acepassword.cgi te klikken en te kiezen voor File Attributes; vul bij Numeric Value 755 in.
  • Het script is geactiveerd. Nu kunt u het instellen.
  • Open in uw webbrowser de locatie: http://www.uwdomeinnaam/wachtwoord/acepassword.cgi. Het volgende scherm verschijnt:

    Klik op de bovenste hyperlink acepassword.cgi?action=start om de directory 'wachtwoord' te beveiligen, zodat u als enige wachtwoorden aan directory's kunt toevoegen. Het volgende scherm verschijnt:

    Vul de tekst /home/sites/ als volgt aan:
    /home/sites/www.uwdomeinnaam/web/wachtwoord
    Onder 'Naam voor de te beveiligen directory' vult u een naam in die op uw inlogscherm verschijnt (één woord, zonder spaties);
    Gebruikersnaam: de gewenste inlognaam;
    Wachtwoord: het gewenste wachtwoord
  • Klik op Submit om bovenstaande gegevens in te stellen. Het volgende scherm verschijnt:
  • U kunt op de onderste hyperlink 'hier' klikken om een extra gebruiker aan te maken die in kan loggen in de directory 'wachtwoord'.
    De webbrowser zal u om uw zojuist ingestelde wachtwoord vragen.
  • Open in uw webbrowser weer de locatie http://www.uwdomeinnaam/wachtwoord/acepassword.cgi
  • Klik weer op de bovenste hyperlink acepassword.cgi?action=start om een andere directory te beveiligen. De directory dient aanwezig te zijn.
    Indien u zojuist een wachtwoord heeft aangemaakt voor de directory 'wachtwoord', wordt om de zojuist aangemaakte gebruikersnaam en wachtwoord gevraagd.
  • Vul het scherm in als bij de tweede afbeelding en wijzig de naam van de directory; vul de tekst /home/sites/ als volgt aan:
    /home/sites/www.uwdomeinnaam/web/te-beveiligen-directory
    Onder 'Naam voor de te beveiligen directory' vult u een naam in die op uw inlogscherm verschijnt (één woord, zonder spaties);
    Gebruikersnaam: de gewenste inlognaam;
    Wachtwoord: het gewenste wachtwoord
  • Klik op Submit om bovenstaande gegevens in te stellen. De derde afbeelding verschijnt. Indien u op 'hier' klikt, verschijnt het volgende scherm. Dit scherm verschijnt ook indien u op het startscherm (eerste afbeelding) op acepassword.cgi?action=create klikt.
  • Vul bij gebruikersnaam de extra gebruiker toe die toegang moet krijgen tot de beveiligde directory;
    bij wachtwoord het wachtwoord van de extra gebruiker; vul de tekst /home/sites/ als volgt aan:
    /home/sites/www.uwdomeinnaam/web/beveiligde-directory
  • Tenslotte kunt u alle door u beveiligde directory's testen.

 

 
  algemene voorwaardenknowledge base webmailsitemapcontact