WEB-ohjelmointi, CGI

© Hannu Natunen 2002


Index

Yleistä
Palaute1.cgi


Yleistä

Palvelinpuolen ohjelmien käyttö osana web-sivuja aiheuttaa asiakaspuolen ohjelmointiin verraten sivuntekijälle jonkin verran enemmän tuskaa. Valmiiden ohjelmien "imuroinnin" lisäksi tulee tietää ainakin seuraavat asiat:

  • Onko käyttämällämme palvelinkoneella mahdollista käyttää ko. ohjelmointitapaa. Eli minkätyyppinen palvelinohjelmisto on kyseessä; Microsoftin ASP, Linux / Apache -yhdistelmä, tai joku muu. Tämä asia selviää palvelimen ylläpitäjältä.
  • Tiedot toiminnon käyttöönottamiseksi. Esim. tieto siitä, missä hakemistossa palvelinkoneella sijaitsee "tulkki" scriptimme suorittamista varten.
  • Usein joudutaan myös muokkaamaan palvelimella sijaitsevan web-hakemistomme asiakkaalle tarkoitettujen hakemistojen ja tiedostojen käyttöoikeuksia.
  • Scriptin muokkaaminen omaan käyttöön sopivaksi, sekä mahdollisesti tiedostotarkentimen muuttaminen palvelinasetuksia vastaavaksi.

Esimerkki, palaute1.cgi

1. Scriptin editointi

Palaute1.cgi -scripti on tehty perl-kielellä ja tekee kaksi asiaa.

  • Lähettää lomakkeen kenttiin kirjoitetut tiedot haluttuun sähköpostiosoitteeseen
  • Lähetyksen onnistuessa käyttäjä palkitaan runsailla kiitoksilla. Myös lähetyksen epäonnistuminen on huomioitu

Ensimmäisenä muokataan scriptin käyttäjää ja käyttäjän hakemistorakennetta koskevat tiedot oikeiksi. Tulosteessa ko. rivit on lihavoitu

  1. #!/usr/bin/perl                       perl-tulkin sijainti palvelinkoneella
  2. $mail = "/usr/bin/Mail";        mail-ohjelman sijainti palvelinkoneella
  3. $email =                                 sähköpostiosoitteesi
  4. <A HREF='http://                  palautesivulla näkyvä paluulinkki omaan kotihakemistoosi

2. Perl -tulkin sijainnin selvittäminen linux-palvelimella

  1. Muodostetaan pääteyhteys (esim.telnet) ko. koneeseen
  2. Kometokehotteeseen komento whereis perl tai whish perl Vastauksena saadaan polku hakemistoon, jossa tulkki sijaitsee. Komento pätee muihinkin apuohjelmiin.

3. Oikeuksien muokkaminen linux-palvelimella

Linux-koneen web-käyttöön tarkoitetussa päähakemistossa, home, käyttäjät jaetaan kolmeen "joukkoon", jotka ovat toinen toisensa poissulkevia. Esim. omistaja (user) ei kuulu joukkoon muut (others)

  • u = user, omistaja
  • g = group, omistajan kanssa samaan ryhmään kuuluva
  • o = others, muut

Jokaiseen joukkoon sisältyy suojauskenttä (3 merkkiä), jotka määräävät minkälaiset oikeudet ko. joukolla on kuhunkin tiedostoon.

  • r = read, lukuoikeus. Sallii esim. kopioinnin ja tulostuksen
  • w = write, kirjoitusoikeus. Sallii ylikirjoittaa tiedoston
  • x = execute, suoritusoikeus. Tiedoston avausoikeus. Oikeus suorittaa hakemistossa sijaitseva ohjelma

Suojauksia voidaan muuttaa komentokehotteessa komennolla chmod /home/käyttäjä/tiedosto, tai vaikkapa WS_FTP-ohjelman chmod-ikkunassa


| 26.8.2002 |