Sigurnost web-aplikacija je sigurnosna filozofija usmjerena na zaštitu aplikacija hostiranih na web-stranicama i osiguravanje samih web-mjesta. Entitet koji se štiti vezan je uz web stranicu, tako da sigurnost web aplikacije treba biti izrađena u programskom jeziku koji web stranice mogu razumjeti. Za pružanje ove zaštite obično se koristi nekoliko vrsta sigurnosnih programa, uključujući skenere ranjivosti i testiranje ulaza. Postoje mnoge vrste napada koji se mogu dogoditi na web-stranicu ili web-aplikaciju, ali skriptiranje i ubacivanje koda dvije su najčešće sigurnosne prijetnje na mreži.
Zaštita web stranice ili web aplikacije uvelike se razlikuje od stvaranja sigurnosti za program instaliran na radnoj površini. Aplikacija je online i obično joj može pristupiti bilo tko — ili barem velika skupina korisnika — pa to povećava vjerojatnost da će zlonamjerni korisnik pronaći web-aplikaciju. Zlonamjernom korisniku je također lakše ubaciti kôd u web stranicu, pa sigurnost web aplikacije mora prevladati te izazove.
Prilikom izrade sigurnosnog programa web aplikacije, programeri softvera moraju izraditi program na jeziku koji se može koristiti preko poslužitelja ili web stranice. Ako poslužitelj ili web stranica ne mogu razumjeti programski jezik, postoji velika vjerojatnost da će program biti neučinkovit. Mnogi sigurnosni programi za stolna računala izgrađeni su na tim jezicima, tako da to obično ne predstavlja problem za većinu programera softvera.
Kodiranje je iznimno važno za sigurnost web aplikacije, jer loše kodiranje web stranice ili web aplikacije može hakeru olakšati ulazak u sustav. Iz tog razloga, mnogi sigurnosni programi web aplikacija napravljeni su za analizu kodiranja na ranjivosti ili promjenjivost penetracije. Odjeljci za unos također mogu pomoći hakeru da uđe u sustav, tako da se programi obično koriste za provjeru stabilnosti tih ulaznih područja. Vatrozidovi i testeri lozinki također se obično koriste za dodatnu sigurnost web stranice.
Haker može napasti web aplikaciju ili web stranicu na mnogo različitih načina, ali se obično koriste dva glavna napada. Injekcija koda, obično iz jezika strukturiranih upita (SQL), dodaje kod na web-mjesto ili njegovu bazu podataka. To može uzrokovati probleme samo po sebi ili može otvoriti rupe u sigurnosti za teže napade. Skripte su slične ubrizgavanju koda, osim što pokreću zlonamjerni program umjesto da dodaju zlonamjerno programiranje u sustav.