Virhetilanteiden hallinta

Virheilmoitukset ovat tärkeitä web-sovelluksen kannalta, koska huonot virheilmoitukset ja puutteellinen virheiden hallinta voi vaarantaa web-sovelluksen tietoturvan. Virheilmoitusten avulla hakkeri voi saada sovelluksesta sellaista tietoa, jonka avulla sovellusta vastaa hyökkääminen on helpompaa. PHP:n virheilmoituksista näkee, missä tiedostossa ja millä rivillä kyseistä tiedostoa virhe tapahtui. Lisäksi virhetyypistä riippuen virheilmoitus voi sisältää muita vielä tarkempia tietoja sovelluksesta ja palvelimesta kuten käytettävän tietokannan tai palvelimen version. Jos tätä ei huomioida virheen hallintaa suunniteltaessa, hyökkääjä saattaa saada tarkkaa tietoa sovelluksen raken­teesta. Huomiota tulee kiinnittää myös sovelluksen käyttäjiin. Ilmoitusten tulee olla riittävän selkeitä ja informatiivisia, jotta käyttäjä huomaa virheen tapahtuneen ja saa tietoa virheen syystä.

Virheilmoituksia testatessa on huomioitava seuraavat asiat:

  • Ilmoitus on tarkoituksenmukainen
  • Ilmoitus annetaan aina virheen sattuessa
  • Ilmoitus on selkeä ja antaa mahdollisesti jatko-ohjeita
  • Ilmoitukset ovat yhdenmukaisia
  • Ilmoitus ei paljasta tietoja sovelluksen rakenteesta tai esimerkiksi sovelluksen käyttämästä tietokannasta
  • Ilmoituksesta ei saa tulla ilmi käyttäjiä koskevia tietoja. Esimerkiksi kirjauduttaessa ilmoitus 'Salasana tai käyttäjätunnus on väärin' on parempi ilmoitus kuin 'Salasana on väärin', joka paljastaa käyttäjätunnuksen olemassaolon

Virheilmoitusten testaaminen on helpompaa, kun ohjelmointivaiheessa kirjataan ylös kaikki sovelluksen tuottamat virheilmoitukset. Virheilmoituslistan avulla pyritään testatessa tuottamaan kaikki virhetilanteet ja nähdään, kuinka sovellus todellisuudessa toimii virheen sattuessa ja näkyvätkö virheilmoitukset halutulla tavalla. Tätä testausta kutsutaan pakotetuksi virhetestaukseksi (Forced Error Test).

PHP:n virheiden ilmoitus voidaan asettaa kokonaan pois päältä, jolloin sovellus ei anna minkäänlaisia virheilmoituksia. Tämä ei ole käyttäjäystävällinen tapa hoitaa virheiden hallinta. Työläämpi tapa on tehdä oma virheenkäsittelijä PHP:n virheenhallinta funktion avulla. Virheenkäsittelijä on funktio, joka käynnistyy aina virheen sattuessa. Virheenkäsittelijälle voi määritellä toiminnot, jotka se suorittaa, kun tietyn, kun tietyn tyyppinen virhe tapahtuu.

<<Takaisin alkusivulle

>>Automatisoitu testaus