User Tools

Site Tools


business_logic

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
business_logic [2026/06/15 17:58] – ispravke, uglavnom stil mbunicbusiness_logic [2026/06/15 19:01] (current) – Dodavanje i promjena sadržaja poglavlja o mitigacijama mbunic
Line 61: Line 61:
 ===Prevencija business logic ranjivosti=== ===Prevencija business logic ranjivosti===
  
-Business logic ranjivosti uvelike ovise o kontekstu aplikacije, stoga je potrebno dobro razumijevanje logike sustava, njegovih funkcionalnosti i namjena pri razvoju i implementaciji, osobito kada više ljudi zajedno radi na sustavu. Kada jedna osoba radi na 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.+Business logic ranjivosti uvelike ovise o kontekstu aplikacije, stoga je potrebno dobro razumijevanje logike sustava, njegovih funkcionalnosti i namjene pri razvoju i implementaciji, osobito kada više ljudi zajedno radi na sustavu. Kada jedna osoba radi na 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.
  
  
 Dakle, tijekom razvoja, osim posvećivanja pažnje sigurnosti koda, treba voditi računa i o mogućim zlonamjernim korisnicima koji će pokušati koristiti sustav na nepredviđene načine. Treba primijeniti validaciju korisničkog unosa te provjere stanja sustava i njegovih vrijednosti uz precizno definirana ograničenja, kako ne bi bilo moguće koristiti sustav izvan predviđenih granica. Dakle, tijekom razvoja, osim posvećivanja pažnje sigurnosti koda, treba voditi računa i o mogućim zlonamjernim korisnicima koji će pokušati koristiti sustav na nepredviđene načine. Treba primijeniti validaciju korisničkog unosa te provjere stanja sustava i njegovih vrijednosti uz precizno definirana ograničenja, kako ne bi bilo moguće koristiti sustav izvan predviđenih granica.
  
-Na primjer, ako je očekivani korisnički unos e-mail adresamogu se koristiti gotove implementacije koje provjeravaju je li uneseni e-mail validan i da ne sadrži nedopuštene znakove ili kombinacije znakova.+Na primjer, ako je očekivani korisnički unos cijeli broj u rasponu od 1 do 9treba osigurati da su samo te vrijednosti dopuštene, dok se ostali unosi odbacuju uz odgovarajuću grešku.
  
-Ako je očekivani korisnički unos cijeli broj u rasponu od 1 do 9, treba osigurati da su samo te vrijednosti dopuštenedok se ostali unosi odbacuju uz odgovarajućgrešku.+Ako je očekivani korisnički unos nešto složenijiprimjerice IBAN, mogu se koristiti gotove implementacije koje provjeravaju je li unos validnom formatu i ne sadrži nedopuštene znakove ili kombinacije znakova.
  
-Važno je imati na umu da ove provjere nije dovoljno implementirati samo na klijentskoj strani, npr. korištenjem client-side JavaScript koda, jer se zahtjevi mogu jednostavno modificirati prije slanja i zaobići provjere na klijentskoj strani. Potrebne su provjere korisničkog unosa na serverskoj straniprilikom unosa podataka, kao i u dubljim dijelovima procesa obrade i korištenja podataka.+Također, sama validacija korisničkog unosa nije dovoljna, nego je potrebno i provjeriti relevantan kontekst stanja sustava te poslovna pravila koja određuju je li određena radnja dopuštena. Na primjer, korisnik može unijeti valjan iznos novca koji želi poslati, ali za izvršenje transakcije mora imati dovoljno sredstava na računu. 
 + 
 +Važno je imati na umu da ove provjere nije dovoljno implementirati samo na klijentskoj strani, npr. korištenjem client-side JavaScript koda, jer se zahtjevi mogu jednostavno modificirati prije slanja i zaobići provjere na klijentskoj strani. Potrebne su provjere korisničkog unosa na serverskoj strani prilikom unosa podataka, kao i u kasnijim fazama njihovog korištenja i obrade.
  
 Izvori:\\ Izvori:\\
business_logic.1781546335.txt.gz · Last modified: 2026/06/15 17:58 by mbunic

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki