Varnost spletnih aplikacij je varnostna filozofija, ki je usmerjena v zaščito aplikacij, ki gostujejo na spletnih mestih, in za zaščito samih spletnih mest. Entiteta, ki je zaščitena, je pritrjena na spletno mesto, zato mora biti varnost spletne aplikacije izdelana v programskem jeziku, ki ga spletna mesta razumejo. Za zagotavljanje te zaščite se običajno uporablja več vrst varnostnih programov, vključno s skenerji ranljivosti in testiranjem vnosa. Obstaja veliko vrst napadov, ki se lahko pojavijo na spletnem mestu ali spletni aplikaciji, vendar sta skriptiranje in vbrizgavanje kode dve najpogostejši varnostni grožnji na spletu.
Zaščita spletnega mesta ali spletne aplikacije se zelo razlikuje od ustvarjanja varnosti za program, ki je nameščen na namizju. Aplikacija je spletna in do nje običajno lahko dostopa kdorkoli – ali vsaj velika skupina uporabnikov –, zato se poveča možnost, da bo zlonamerni uporabnik našel spletno aplikacijo. Zlonamernemu uporabniku je tudi lažje vnesti kodo v spletno mesto, zato mora varnost spletnih aplikacij premagati te izzive.
Pri izdelavi varnostnega programa spletne aplikacije morajo razvijalci programske opreme izdelati program v jeziku, ki se lahko uporablja prek strežnika ali spletnega mesta. Če strežnik ali spletno mesto ne more razumeti programskega jezika, obstaja velika verjetnost, da bo program neučinkovit. Številni namizni varnostni programi so zgrajeni v teh jezikih, tako da to običajno ne predstavlja težave za večino razvijalcev programske opreme.
Kodiranje je izjemno pomembno za varnost spletnih aplikacij, saj lahko slabo kodiranje spletne strani ali spletne aplikacije hekerju olajša vstop v sistem. Zaradi tega je veliko varnostnih programov spletnih aplikacij narejenih za analizo kodiranja zaradi ranljivosti ali nestanovitnosti prodora. Vhodni odseki lahko pomagajo tudi hekerju pri vstopu v sistem, zato se programi običajno uporabljajo za preverjanje stabilnosti teh vhodnih območij. Za dodatno varnost spletnega mesta se običajno uporabljajo tudi požarni zidovi in preizkuševalci gesel.
Heker lahko napade spletno aplikacijo ali spletno mesto na različne načine, vendar se običajno uporabljata dva glavna napada. Injekcija kode, običajno iz jezika strukturiranih poizvedb (SQL), doda kodo v spletno mesto ali njegovo bazo podatkov. To lahko povzroči težave samo po sebi ali pa odpre luknje v varnosti za hujše napade. Skripti so podobni vbrizgavanju kode, le da poganjajo zlonamerni program, namesto da dodajajo zlonamerno programiranje v sistem.