Ajankohtainen tilanne: PHP2Shell. Kaksi kriittistä PHP-haavoittuvuutta (CVSS 9.2) sallii haittakoodin suorittamisen ilman kirjautumista. Korjaukset 21.10.2026 alkaen.Mitä nyt on tehtävä →
40 sivua

PHP-tietoa: ohjelmointikieli selitettynä

Mitä PHP on, miten se muodostaa verkkosivun ja miksi ajotapa, asetukset ja versio ratkaisevat tietoturvan. Ymmärrettävästi päättäjille ja syvällisesti ylläpitäjille ja kehittäjille.

01

Mikä on PHP? Ohjelmointikieli selitettynä

PHP on komentosarjakieli, joka toimii palvelimella ja tuottaa siellä HTML:ää. Monet CMS- ja verkkokauppajärjestelmät perustuvat siihen, joten PHP:n haavoittuvuus koskee hyvin monia verkkosivustoja.

Lue lisää →
02

PHP:n historia: vuodesta 1994 tähän päivään

Yksityisestä työkalusta ansioluettelosivulle monien CMS- ja verkkokauppajärjestelmien perustaksi: PHP:n historian tärkeimmät vaiheet tarkistettuine vuosilukuineen.

Lue lisää →
03

Miten PHP tuottaa verkkosivun: pyynnön tie

Mitä klikkauksen ja valmiin sivun välillä tapahtuu: verkkopalvelin, SAPI, kääntäjä, OPcache ja Zend VM seitsemässä vaiheessa, ja miksi PHP2Shell iskee juuri tähän kulkuun.

Lue lisää →
04

Zend Engine: PHP:n sydän

Zend Engine kääntää PHP-koodin opcode-käskyiksi ja suorittaa ne. Kun sen osat tuntee, ymmärtää, miksi ytimen haavoittuvuudet kuten PHP2Shell korjaa vain PHP-päivitys.

Lue lisää →
05

OPcache selitettynä: PHP:n tavukoodivälimuisti

OPcache pitää käännetyn PHP-koodin jaetussa muistissa. Se säästää laskenta-aikaa, mutta vaatii huolellisuutta käyttöönotoissa, uudelleenkäynnistyksissä ja usean asiakkaan palvelimilla.

Lue lisää →
06

SAPI selitettynä: miten PHP keskustelee verkkopalvelimen kanssa

SAPI on PHP:n ja verkkopalvelimen välinen rajapinta. Se määrää, miten pyynnöt saapuvat, mikä php.ini on voimassa ja mitä päivityksen jälkeen on käynnistettävä uudelleen.

Lue lisää →
07

PHP-FPM selitettynä: prosessinhallinta, poolit ja workerit

PHP-FPM ajaa PHP:tä omana palvelunaan pooleineen ja workereineen. Näin prosessimalli toimii, mitkä direktiivit ovat tärkeitä ja miksi workerit on käynnistettävä uudelleen päivitysten jälkeen.

Lue lisää →
08

mod_php selitettynä: PHP Apache-prosessissa

mod_php:ssä PHP on jokaisessa Apache-prosessissa. Se on yksinkertaista mutta jäykkää, ja PHP2Shellin jälkeen riskialtein ajotapa. Näin se toimii ja näin sen tunnistaa.

Lue lisää →
09

CGI ja FastCGI: perusteet

CGI käynnistää prosessin jokaiselle pyynnölle, FastCGI pitää prosessit hengissä. Mitä se tarkoittaa PHP:lle, php-cgi:lle ja PHP-FPM:lle ja mitkä asetukset vaikuttavat tietoturvaan.

Lue lisää →
10

PHP komentorivillä (CLI)

PHP CLI suorittaa komentosarjoja ilman verkkopalvelinta, esimerkiksi cron-tehtäviin ja ylläpitoon. Se käyttäytyy eri tavalla kuin verkkoversio eikä usein näytä verkkosivustonne käyttämää tilaa.

Lue lisää →
11

php.ini selitettynä: rakenne, tasot ja etusija

Mistä PHP löytää asetuksensa, missä järjestyksessä ne tulevat voimaan ja kuka saa ohittaa ne. Perusta kaikelle koventamiselle ja PHP2Shellin väliaikaistoimille.

Lue lisää →
12

PHP-versiot ja julkaisusykli

Joka vuosi marraskuussa ilmestyy uusi PHP-versio, jota huolletaan neljä vuotta. Mitkä haarat päättyvät ja milloin, ja mitä se tarkoittaa suunnittelullenne PHP2Shellin jälkeen.

Lue lisää →
13

PHP 8.0–8.5: tärkeimmät uudet ominaisuudet

PHP 8.0:n matchista ja JIT:stä PHP 8.5:n pipe-operaattoriin ja URI-laajennukseen: jokaisen version uudet ominaisuudet, päivityksen sudenkuopat ja se, mitä ne tuovat tietoturvalle.

Lue lisää →
14

PHP-laajennusten (extensions) ymmärtäminen

Laajennukset tuovat PHP:hen tietokanta-ajurit, salauksen tai välimuistit. Näin lajit eroavat, näin ne ladataan ja tarkistetaan ja mitä ne tarkoittavat päivityksille ja koventamiselle.

Lue lisää →
15

Composer: PHP:n pakettienhallinta

Composer lataa ja hallinnoi kirjastoja, joihin modernit PHP-projektit perustuvat. Kun ymmärtää composer.jsonin, composer.lockin ja automaattisen lataajan, toimitus on toistettavampi ja turvallisempi.

Lue lisää →
16

PHP-kehykset yleiskatsauksena

Kehykset antavat PHP-sovelluksille rakenteen, reitityksen ja tietoturvan rakennuspalikoita. Tämä katsaus esittelee tunnetut kehykset, valintaperusteet ja suojan rajat.

Lue lisää →
17

Mitkä CMS- ja verkkokauppajärjestelmät toimivat PHP:llä

Monet tunnetut CMS-, verkkokauppa- ja yrityssovellukset toimivat PHP:llä. Näin arvioitte, mitkä verkkosivustoistanne voivat olla PHP-aukkojen, kuten PHP2Shellin, vaikutuspiirissä.

Lue lisää →
18

PHP ja tietokannat: PDO ja mysqli

PHP keskustelee tietokantojen kanssa PDO:n tai mysqlin kautta. Tässä erot, turvalliset kyselyt Prepared Statementsilla ja mitä tietokantatunnuksille tehdään palvelinpoikkeaman jälkeen.

Lue lisää →
19

Istunnot ja evästeet PHP:ssä

Istunnot tekevät tilattomasta HTTP:stä kirjautumisen, joka pysyy usean sivun yli. Tässä kerrotaan, miten PHP ratkaisee sen sisäisesti, mitkä oletusarvot pätevät ja mitä session.upload_progress liittyy PHP2Shelliin.

Lue lisää →
20

Superglobaalit: $_GET, $_POST, $_FILES ja muut

Superglobaalit ovat taulukoita, joiden kautta PHP-koodi saa pyyntötiedot. Kun tietää, miten PHP täyttää ne ja mitkä rajat pätevät, kirjoittaa turvallisempaa koodia ja ymmärtää PHP2Shelliä paremmin.

Lue lisää →
21

Miten PHP käsittelee tiedostolataukset

Latauspainikkeen napsautuksen ja oman koodinne välillä on PHP:ssä kokonainen käsittelyketju. Tällä sivulla selitetään multipart/form-data, tilapäistiedostot, $_FILES, rajat ja yhteys PHP2Shelliin.

Lue lisää →
22

PHP:n tyyppijärjestelmä

PHP on dynaamisesti tyypitetty, mutta sen tyyppijärjestelmä on tiukentunut versiosta PHP 7 lähtien. Täältä näette tyypit, tärkeimmät versiot ja sen, miksi tiukat vertailut ehkäisevät tietoturvavirheitä.

Lue lisää →
23

Virheet ja poikkeukset PHP:ssä

PHP tuntee perinteiset virheilmoitukset ja poikkeukset (exception). Tällä sivulla selitetään Throwable-hierarkia, siisti virheenkäsittely, tuotannon turvalliset asetukset ja PHP2Shell-toimenpide fatal_error_backtraces.

Lue lisää →
24

Olio-ohjelmointi PHP:ssä

Modernit PHP-sovellukset ovat lähes aina olio-orientoituneita. Tällä sivulla selitetään rakennuspalikat, uudistukset versioista PHP 8.0–8.4 ja se, miksi taikametodeilla on merkitystä tietoturvalle.

Lue lisää →
25

Nimiavaruudet ja automaattinen lataus (PSR-4)

Nimiavaruudet jäsentävät PHP-koodia, ja automaattinen lataus lataa luokat täsmälleen silloin, kun niitä tarvitaan. Täältä näette, miten PSR-4 kuvaa luokkien nimet tiedostoiksi ja miksi lataaja on tarkastettava poikkeaman jälkeen.

Lue lisää →
26

PHP-FIG:n PSR-standardit

PSR:t ovat yhteisiä standardeja, joista monet PHP-hankkeet ovat sopineet. Tällä sivulla luetellaan kaikki PSR:t tiloineen ja näytetään, mitkä niistä ovat arjessa tärkeitä ja missä ne sivuavat tietoturvaa.

Lue lisää →
27

Muistinhallinta PHP:ssä: viitelaskenta ja roskienkeruu

PHP hallitsee muistia viitelaskennalla ja kehiä varten roskienkerääjällä. Sivulla selitetään mekaniikka, tärkeimmät mittausfunktiot ja se, miksi kummallakin PHP2Shell-aukolla on tekemistä muistitilojen kanssa.

Lue lisää →
28

memory_limit ja Out-of-Memory: mitä sisällä tapahtuu

Mitä tapahtuu, kun PHP-komentosarja osuu rajaan memory_limit? Mekaniikka, lokakuun korjausten tuoma uusi kova muistiraja ja yhteys haavoittuvuuteen CVE-2026-109618.

Lue lisää →
29

Pyynnön elinkaari: käynnistys, suoritus, sammutus

Miten PHP käynnistää prosesseja, käsittelee pyyntöjä ja siivoaa niiden välillä. Vaiheet MINITistä MSHUTDOWNiin ja yhteys haavoittuvuuteen CVE-2026-109619.

Lue lisää →
30

JIT ja suorituskyky PHP 8:ssa

JIT-kääntäjä muuntaa PHP:tä konekoodiksi versiosta 8.0 lähtien. Tyypillisille sivustoille hyöty on vähäinen; OPcache, ajantasaiset versiot ja siisti konfiguraatio antavat enemmän.

Lue lisää →
31

PHP-koodin testaus: PHPUnit ja Pest

PHPUnit on PHP:n vakiotestityökalu, ja Pest rakentuu sen päälle. Kun testit ovat olemassa, tietoturvapäivitykset ja versiovaihdokset voi tehdä nopeammin ja pienemmällä riskillä.

Lue lisää →
32

Staattinen analyysi: PHPStan ja Psalm

PHPStan ja Psalm löytävät PHP-koodin virheitä suorittamatta sitä. Psalm seuraa lisäksi turvattomia tietovirtoja. PHP-tulkin omia aukkoja kumpikaan ei löydä.

Lue lisää →
33

PHP:n sisäänrakennetut tietoturvafunktiot

PHP tarjoaa turvallisia rakennuspalikoita salasanoille, satunnaisarvoille, maskaukselle, kryptografialle ja istunnoille. Niitä johdonmukaisesti käyttämällä vältetään yleisimmät sovellusvirheet.

Lue lisää →
34

PHP:n paikallinen kehitys: Docker, DDEV ja muut

PHP:n paikalliseen kehitykseen on sisäänrakennettu verkkopalvelin, viralliset Docker-kuvat ja työkaluja kuten DDEV. Tärkeää on, että paikallisesti ajetaan samaa PHP-versiota kuin tuotannossa.

Lue lisää →
35

PHP verrattuna Node.js:ään, Pythoniin ja Javaan

PHP, Node.js, Python ja Java eroavat toisistaan ennen kaikkea suoritusmallissa ja käytössä. Mikään kieli ei ole sinänsä turvallisempi; ratkaisevia ovat ylläpito ja korjausprosessi.

Lue lisää →
36

Miten PHP-hanke käsittelee tietoturva-aukot

PHP:n tietoturva-aukot ilmoitetaan luottamuksellisesti, luokitellaan, korjataan julkaisussa ja julkaistaan GitHub Security Advisorynä. PHP2Shell näyttää kulun hätätilanteessa.

Lue lisää →
37

PHP:n kääntäminen lähdekoodista

PHP:n voi rakentaa itse komennoilla configure ja make. Se antaa hallinnan laajennuksiin ja valitsimiin, mutta myös täyden vastuun jokaisesta tietoturvapäivityksestä.

Lue lisää →
38

PHP:n ajaminen konteissa

PHP kontissa tarvitsee sopivan kuvavariantin, tuotantokonfiguraation, järkevät muistirajat ja prosessin, joka rakentaa kuvat uudelleen jokaisen tietoturvajulkaisun yhteydessä.

Lue lisää →
39

PHP:n tulevaisuus

PHP:tä kehitetään kiinteiden sääntöjen mukaan: neljä vuotta tukea versiota kohti, PHP 8.6 on suunniteltu 19.11.2026, PHP 9.0:lle on hyväksyttyjä RFC:itä mutta ei aikataulua.

Lue lisää →
40

PHP-perustiedot ylläpitäjille

Mitä ylläpitäjän on tiedettävä PHP:stä: mitkä binäärit ovat käynnissä, miten konfiguraatio vaikuttaa, miten FPM-poolit toimivat ja mitkä komennot auttavat PHP2Shellin kaltaisissa päivityksissä.

Lue lisää →
Pikayhteys

Jokainen tunti on tärkeä. Kirjoittakaa meille nyt.

Kuvatkaa lyhyesti järjestelmä, PHP-versio ja havainnot. Otamme yhteyttä, selvitämme tilanteen ja työskentelemme etänä, kunnes tapaus on käsitelty loppuun ja dokumentoitu.

Pikaapu