Bezpieczeństwo aplikacji internetowych to filozofia bezpieczeństwa ukierunkowana na ochronę aplikacji hostowanych na stronach internetowych i zabezpieczanie samych stron internetowych. Chroniony podmiot jest dołączony do strony internetowej, więc zabezpieczenia aplikacji internetowych powinny być wykonane w języku programowania zrozumiałym dla stron internetowych. Do zapewnienia tej ochrony powszechnie stosuje się kilka typów programów zabezpieczających, w tym skanery luk w zabezpieczeniach i testowanie danych wejściowych. Istnieje wiele rodzajów ataków, które mogą wystąpić na stronie internetowej lub aplikacji internetowej, ale skrypty i wstrzykiwanie kodu to dwa najczęstsze zagrożenia bezpieczeństwa online.
Ochrona witryny lub aplikacji internetowej bardzo różni się od tworzenia zabezpieczeń dla programu zainstalowanego na komputerze. Aplikacja jest w trybie online i zazwyczaj może uzyskać do niej dostęp każdy — lub przynajmniej duża grupa użytkowników — co zwiększa prawdopodobieństwo, że złośliwy użytkownik znajdzie aplikację internetową. Złośliwi użytkownicy mają też tendencję do łatwiejszego wstrzykiwania kodu do witryny internetowej, więc zabezpieczenia aplikacji internetowych muszą sprostać tym wyzwaniom.
Tworząc program zabezpieczający aplikacje internetowe, twórcy oprogramowania muszą stworzyć program w języku, który może być używany na serwerze lub w witrynie internetowej. Jeśli serwer lub strona internetowa nie rozumie języka programowania, istnieje duża szansa, że program będzie nieskuteczny. Wiele programów zabezpieczających komputery stacjonarne jest zbudowanych w tych językach, więc zwykle nie stanowi to problemu dla większości twórców oprogramowania.
Kodowanie jest niezwykle ważne dla bezpieczeństwa aplikacji internetowych, ponieważ słabe kodowanie strony internetowej lub aplikacji internetowej może ułatwić hakerowi wejście do systemu. Z tego powodu wiele programów zabezpieczających aplikacje internetowe jest tworzonych w celu analizy kodowania pod kątem luk w zabezpieczeniach lub niestabilności penetracji. Sekcje wejściowe mogą również pomóc hakerowi wejść do systemu, więc programy są zwykle używane do sprawdzania stabilności tych obszarów wejściowych. Zapory sieciowe i testery haseł są również powszechnie używane do dodatkowego zabezpieczenia witryny.
Haker może zaatakować aplikację internetową lub witrynę internetową na wiele różnych sposobów, ale powszechnie stosowane są dwa główne ataki. Wstrzyknięcie kodu, zwykle ze strukturalnego języka zapytań (SQL), dodaje kod do strony internetowej lub jej bazy danych. Może to samo w sobie powodować problemy lub otwierać luki w zabezpieczeniach dla poważniejszych ataków. Skrypty są podobne do wstrzykiwania kodu, z tą różnicą, że uruchamiają złośliwy program zamiast dodawać złośliwe oprogramowanie do systemu.