PHP ja Safe Mode
Mureakuha
Useimmiten www-sivutilalla ajetaan PHP-tulkkia ns. Safe mode on -tilassa. Safe mode on nimensä mukainen eräänlainen turvallisuustoimenpide, jolla pyritään turvaamaan se, että toinen käyttäjä ei koskisi toisen käyttäjän tiedostoihin. Toisaalta joskus tämä aiheuttaa ongelmia käyttäjille. Suurimmat ongelmat yleensä ovatkin tiedostonkäsittelyssä, kuvaup -palveluissa jne.
Sisällysluettelo |
Rajoitukset
Safe modessa PHP-tulkki ei pysty käsittelemään toisen käyttäjätunnuksen tiedostoja. Ongelma onkin PHP-tulkin käyttäjätunnuksessa, koska sitä ajetaan yleensä www-data / www / httpd -tunnuksilla ja käyttäjä onkin joku mattimeikalainen. Tällöin tulkki ei voikaan koskea kyseisen henkilön tiedostoihin, ellei käyttäjä ole antanut todella laajoja kirjoitus- ja lukuoikeuksia. Myöskin tulkki joka kerta käynnistyessään ottaa uuden uid:n, jolloin tulkki luulee kuvaupissa ladattua kuvaa jonkun toisen käyttäjätunnuksen tiedostoksi.
Rajoituksien kiertäminen
Safe moden rajoituksien kiertäminen lienee helpointa ajamalla PHP-tulkkia CGI-modissa. Rajoituksen pystyy myös kiertämään omilla kirjastoilla (esimerkiksi dl()-funktiolla).
Safe mode -tilan tarkistaminen
<?PHP if (ini_get('safe_mode')) { // safe mode true }else { // safe mode false } ?>
PHP6
Safe mode poistetaan PHP6-versiossa, koska se luo virheellisen kuvan turvallisuudesta.
