Muita kotisivuohjeita

Sisällysluettelo:

Kävijöiden näyttöasetusten selvittäminen tilastopalveluun

Hakemistolistauksen näyttämisen esto

Www-sivujen täytettävän (palaute yms.) lomakkeen käsittelijä – formmail.php

Oma 404 (sivua ei löydy) -virhesivu

Salasanasuojatun hakemiston luonti

 

Kävijöiden näyttöasetusten selvittäminen tilastopalveluun

Lisäämällä seuraavan koodinpätkän etusivullesi tunnuksen <body> jälkeen, näet tilastopalvelimelta
(http://stats.nebula.fi) millaisia näyttöasetuksia kävijät ovat käyttäneet.

HUOM! Älä muokkaa alla olevaa koodia, vaan kopioi se sellaisenaan sivusi koodiin ja kirjoita vihreällä kirjoitettu osa yhdelle riville.

<SCRIPT LANGUAGE="JavaScript"><!-- begin 
{  
  window.onerror=null;
  document.write("<img border=0 height=1 width=1 alt=\\"\\"",
  "src=\\"http://tools.nebula.fi/res.cgi?ref=",document.location,
  "&res=",window.screen.width,"x",window.screen.height,
  "&winsizens=",window.innerHeight,"x",window.innerWidth,
  "&depth=",window.screen.colorDepth,"&java=",
  navigator.javaEnabled(),"&fontsmooth=",
  window.screen.fontSmoothingEnabled,"\\">");
}// end -->
</SCRIPT>

 

Hakemistolistauksen näyttämisen esto

Jos menet www-selaimella hakemistoon, jossa ei ole index-tiedostoa (etusivu), näyttää selain normaalisti listan hakemiston kaikista tiedostoista. Jos haluat estää tämän, voit tehdä sen luomalla hakemistoon tyhjän index.html-tiedoston. Toinen, "hienostuneempi" tapa on ohjata www-serveriä .htaccess-ohjaustiedostolla seuraavasti:

  • Luo hakemistoon .htaccess -niminen tiedosto (piste alussa!), jossa on rivi:
    Options -indexes
  • Tästä www-palvelinohjelmisto tietää, että hakemistolistausta ei saa näyttää kyseisessä hakemistossa.

 

Www-sivujen täytettävän (palaute yms.) lomakkeen käsittelijä – formmail.php

Voit tehdä www-sivuillesi kävijän täytettäviä lomakkeita. Lomakkeen lähettämien tietojen käsittelyyn voit käyttää apuna omaa skriptiä tai tässä kuvattua formmail.php –apuohjelmaa, joka käsittelee sille lähetetyn lomakkeen tiedot ja lähettää sen eteenpäin sähköpostilla.

Lataa formmail.php



Asennus ja käyttö

Asenna formmail.php tiedosto www-sivujesi tarkoituksen mukaiseen hakemistoon (esim. public_html). Tämän jälkeen muokkaa tiedoston alussa olevat asetusmuuttujien arvot itsellesi sopiviksi (punaisella merkityt kohdat):

// Vastaanottajan email osoite / Recipient email address
$mail_to = "etunimi.sukunimi@maili.tld";
// Osoite, johon ohjataan lähetyksen jälkeen / Web address to where user is redirected after form is sent
$redirect = "http://www.sivusto.tld/kiitos.html";
// Osoite, johon ohjataan, jos kenttiä puuttuu / Web address to where user is redirected if fields are missing
$return_error = "http://www.sivusto.tld/virhe.html";
// Ympäristömuuttujat, jotka haluat sähköpostiin (pilkulla erotettuna) / Environment variables you want to be included in the mail (separated by ,)
$env_report = "REMOTE_ADDR,REMOTE_HOST";
// Lokitiedoston sijainti ja tiedostonimi / Log file path and filename
$log_name = "formmail.log";

Sinulla on oltava jotkin sivut, joihin käyttäjä ohjataan kun lomakkeen lähetys onnistuu ja kun tulee virhetilanne puuttuvista tiedoista (yllä olevat muuttujat $redirect ja $return_error).

Tämän jälkeen tarvitset lomakesivun, jossa määrittelet tarvitsemasi lomakkeen kenttineen ja määrität sen formmail.php:n käsiteltäväksi. Lomakkeen HTML-koodi voi olla esimerkiksi seuraavanlainen yksinkertaistettuna:

<FORM ACTION="formmail.php" METHOD="post">
Teksti: <INPUT TYPE="text" NAME="teksti">
<!-- Tähän voit lisätä muita kenttiä -->
Anna nimesi: <INPUT TYPE="text" NAME="nimi">
Anna sähköpostiosoitteesi: <INPUT TYPE="text" NAME="email">
<INPUT TYPE="hidden" NAME="required" VALUE="teksti">
<INPUT TYPE="hidden" NAME="subject" VALUE="Lomake">
<INPUT TYPE="submit" VALUE="Lähetä">
</FORM>

Kävijän sähköpostiosoite on kysyttävä muuttujaan “email”, jolloin lomakkeen lähettämä sähköposti näkyy suoraan kävijän lähettämänä. Muuttujalla ”required” määritellään lomakkeen pakolliset kentät (pilkulla eroteltuna), joita ilman lomakkeen tietoja ei lähetetä. ”subject” –muuttujassa määritellään sähköpostiin tuleva otsikko. Tämän voit myös halutessasi kysyä kävijältä. Voit tehdä lomakkeelle tarvitsemiasi muita kenttiä, jolloin nämä kentät tulevat automaattisesti lähetettävään sähköpostiin mukaan.

Muita käytettäviä ennalta määriteltyjä kenttiä:

realname = Henkilön oikea nimi, tulee lähetettävään sähköpostiin osoitteen yhteyteen

lang = Jos tarvitset lomakkeenkäsittelijän mahdolliset ilmoitukset englanniksi, lisää tämä kenttä hidden-tyyppisenä ja arvolla ”en” eli <INPUT TYPE="hidden" NAME="lang" VALUE="en">

Lomakekäsittelijän lokitiedosto

Lomakekäsittelijä kirjoittaa lokitiedostoa. Oletuksena lokitiedostoa kirjoitetaan siihen hakemistoon, jossa käsittelijä toimii tiedostonimellä formmail.log. Lokitiedoston sijainti ja tiedostonimi asetetaan em. asetuksissa. Jos käytät oletusasetusta tai muuten määrittelet tiedoston olevan sellaisessa hakemistossa, johon on pääsy webin kautta selaimella, on lokitiedosto syytä suojata ulkopuoliselta lataukselta. Tämä voidaan tehdä .htaccess –tiedostolla. Luo (tai editoi olemassa olevaa) .htaccess tiedosto hakemistoon, johon lokitiedosto kirjoitetaan ja lisää siihen rivit:

<Files "formmail.log">
Order allow,deny
Deny from all
</Files>

Tällöin tiedostoa ei voi nähdä selaimella.

 

Oma 404 (sivua ei löydy) -virhesivu

Kun sivuilla kävijäsi joutuu sivulle, jota ei enää olekaan palvelimella, hän saa normaliisti tavallisen Error 404 - Page not found -viestin. Mikäli haluat tehdä tätä varten oman www-sivun, jossa selitetään esimerkiksi miksi sivua ei enää ole.

  • Tee public_html -hakemistoon tiedosto nimeltä .htaccess ja (huomaa piste nimen alussa) laita siihen teksti:
    ErrorDocument 404 /404.shtml
  • Tee 404.shtml niminen tiedosto, johon luot haluamasi virheilmoitussisällön
  • Huom! Internet Explorer vaatii, että virheilmoitussivun tiedoston koko on enemmän kuin 4 kt. Muussa tapauksessa selain näyttää oman oletusvirhesivunsa. Lisää tarpeen tullen esimerkiksi HTML-kommentteja seuraavasti tiedoston koon kasvattamiseksi:
    <!-- Tämä on täytettä xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->
  • (Toista siis edellämainittua riviä niin monta kertaa, että tiedoston kooksi tulee yli 4 kt)

 

Salasanasuojatun hakemiston luonti

Salasanasuojaus tehdään aina hakemistoittain, eli et voi suojata yksittäistä HTML-sivustoa tällä salasanasuojausmenetelmällä.

  • Tee ensin hakemisto public_html -hakemiston alle, esimerkiksi nimellä salainen.
  • Tee suojattavaan hakemistoon tiedosto, jonka nimeksi annat .htaccess (huomaa piste nimen alussa). Kirjoita tiedostoon seuraavat rivit:
  • Jos sivusi sijaitsevat palvelimilla virtual1-virtual25.nebula.fi, käytä seuraavaa muotoa:
    AuthUserFile /home/customers/tunnus/.salasanatiedosto
    AuthName "Salasanasuojattu sivusto"
    AuthType Basic
    require valid-user
  • Jos sivusi sijaitsee palvelimella virtual26.nebula.fi tai uudempi (palvelusi on otettu käyttöön loppuvuodesta 2005 tai sen jälkeen, käytä seuraavaa muotoa:
    AuthUserFile /var/www/customers/tunnus/.salasanatiedosto
    AuthName "Salasanasuojattu sivusto"
    AuthType Basic
    require valid-user

AuthUserFilen hakemiston korvaat oman käyttäjätunnuksesi kotihakemistolla ja salasanalistan nimellä (muotoa /home/customers/pääkäyttäjätunnus/.salasanatiedosto. Jos tarvitset useampia eri salasanalistoja, nimeä kukin omalla nimellään. Tässä esimerkissä salasanatiedoston nimi on .salasanatiedosto ja se sijaitsee kotihakemistossasi (ei siis public_html:ssä eikä suojattavassa hakemistossa). AuthName -kohtaan voit laittaa otsikon, joka näytetään kun salasanaa kysytään. Huomaa lainausmerkit.

Tämän jälkeen sinun täytyy tehdä salasanatiedosto. Se hoituu SSH-pääteyhteyttä käyttäen htpasswd -nimisellä ohjelmalla. Avaa pääteyhteys telnet- tai ssh-yhteyskäytännöllä palvelimellemme (lisätietoja "Linux-komentotaso"-ohjeissa, mene kotihakemistoosi (jos et jo ole siellä) ja kirjoita:
htpasswd -c .salasanatiedosto käyttäjä

Jossa .salasanatiedosto on yllä kerrottu salasanatiedosto ja käyttäjä on käyttäjän nimi, joka lisätään salasanalistaan. Htpasswd kysyy tämän jälkeen halutun salasanan kyseiselle käyttäjälle (2 kertaa varmistuksen vuoksi).

Kun seuraavan kerran haluat lisätä käyttäjiä samaan listaan, jätä -c pois, muutoin htpasswd poistaa entiset salasanat listasta.

 

Uudelleenohjauksen luonti

Uudelleenohjaussäännöt voi asettaa sivutilan juureen .htaccess -nimiseen tiedostoon. Kyseessä on piilotiedosto eli se ei oletusasetuksin näy FTP-asiakasohjelmalla. Suositeltavaa on muokata tiedostoa SSH-komentorivin kautta esim. nano-tekstieditorilla. Huomaathan, että mikäli vastaava tiedosto on jo olemassa ja se sisältää muita ohjaussääntöjä, voi näiden sääntöjen asettaminen väärään kohtaan aiheuttaa sivuston kaatumisen. Konsultoi asiassa tarvittaessa asiakaspalveluamme tai sivustosi toimittajaa.

301-ohjaus jossa ykkosdomain.net halutaan ohjata uudelleen osoitteeseen http://kakkosdomain.net, mukana erikseen www-alidomain: 

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^ykkosdomain\.net [nc] 
RewriteRule ^(.*)$ http://kakkosdomain.net/$1 [r=301,nc,L] 
RewriteCond %{HTTP_HOST} ^www\.ykkosdomain\.net [nc] 
RewriteRule ^(.*)$ http://kakkosdomain.net/$1 [r=301,nc,L] 

Alihakemisto-ohjaus jossa kakkosdomain.net halutaan ohjata /public_html/test/ -alihakemistoon:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^kakkosdomain\.net 
RewriteCond %{REQUEST_URI} !^/test/ 
RewriteRule ^(.*)$ test/$1 [nc] 
RewriteCond %{HTTP_HOST} ^www\.kakkosdomain\.net 
RewriteCond %{REQUEST_URI} !^/test/ 
RewriteRule ^(.*)$ test/$1 [nc]