| Business logic ranjivosti uvelike ovise o samom kontekstu aplikacije, zato je potrebno dobro razumijevanje logike sustava, njegovih funkcionalnosti i namjena pri razvoju i implementaciji sustava, pogotovo kada više ljudi zajedno rade na razvoju. Kada jedna osoba radi na jednoj komponenti sustava koja je povezana s drugom komponentom, koju razvijaju drugi programeri , mora dobro razumjeti obje komponente i njihovu namjenu te predviđene funkcionalnosti. Zato je važno i imati dobru dokumentaciju uz razvijanje sustava, u kojoj su opisane namijene i funkcionalnosti pojedinih komponenti. | Business logic ranjivosti uvelike ovise o samom kontekstu aplikacije, zato je potrebno dobro razumijevanje logike sustava, njegovih funkcionalnosti i namjena pri razvoju i implementaciji sustava, pogotovo kada više ljudi zajedno rade na razvoju. Kada jedna osoba radi na jednoj komponenti sustava koja je povezana s drugom komponentom, koju razvijaju drugi programeri, mora dobro razumjeti obje komponente i njihovu namjenu te predviđene funkcionalnosti. Zato je važno tijekom razvoja sustava imati dobro dokumentirane namjene i funkcionalnosti pojedinih komponenti. |
| Osim posvećivanja pažnje sigurnosti koda pri razvoju i svjesnosti o mogućim zlonamjernim akterima koji će pokušati koristiti sustav na nepredviđene načine, važno je implementirati validacije korisničkog unosa i provjere stanja sustava i njegovih vrijednosti, sa što strožim ograničenjima, kako ne bi bilo moguće koristiti sustav izvan predviđenih granica. Na primjer ako je očekivani korisnički unos e-mail, mogu se koristiti već gotove implementacije koje provjeravaju da je uneseni e-mail validan i da ne sadržava nikakve znakove niti određene redoslijede dopuštenih znakova koji se ne mogu koristiti u e-mail adresi. Ako je očekivani korisnički unos cijeli broj u rasponu od jedan do devet, popratna validacija bi provjerava da je korisnički unos cijeli jednoznamenkasti broj u rasponu od jedan do devet, dok ostali unosi izbacuju pogrešku. Ove provjere nije dovoljno implementirati samo na korisničkoj strani, npr. korištenjem client-side JavaScript koda, jer se zahtjevi mogu jednostavno modificirati prije slanja, a provjere na korisničkoj strani zaobići. Potrebne su provjere korisničkog unosa na serverskoj strani, na samom korisničkom unosu, a poželjno i na dubljim i daljim dijelovima procesa obrade i posluživanja podataka. | Dakle, tijekom razvoja, osim posvećivanja pažnje sigurnosti koda, treba voditi računa i o mogućim zlonamjernicima koji će pokušati koristiti sustav na nepredviđene načine. Treba primijeniti validacije korisničkog unosa i provjere stanja sustava i njegovih vrijednosti, sa što strožim ograničenjima, kako ne bi bilo moguće koristiti sustav izvan predviđenih granica. Na primjer ako je očekivani korisnički unos e-mail adresa, mogu se koristiti već gotove implementacije koje provjeravaju da je uneseni e-mail validan i da ne sadržava nikakve znakove niti određene redoslijede dopuštenih znakova koji se ne mogu koristiti u e-mail adresi. Ako je očekivani korisnički unos cijeli broj u rasponu od jedan do devet, treba provjeriti da je korisnički unos cijeli jednoznamenkasti broj u rasponu od jedan do devet, a za ostale javiti pogrešku. Važno je voditi računa da ove provjere nije dovoljno implementirati samo na korisničkoj strani, npr. korištenjem client-side JavaScript koda, jer se zahtjevi mogu jednostavno modificirati prije slanja, a provjere na korisničkoj strani zaobići. Potrebne su provjere korisničkog unosa na serverskoj strani, prilikom samog korisničkog unosa, a poželjno i na dubljim i daljim dijelovima procesa obrade i posluživanja podataka. |