@@ -24,15 +24,15 @@ the input data from the client to the application. Attack vectors include SQL,
2424XML, ORM, code & buffer overflows.
2525
2626OWASP recommendations
27- ---------------------
27+ =====================
2828
2929- Presentation: set correct content type, character set & locale
3030- Submission: validate fields and provide feedback
3131- Controller: sanitize input; positive input validation using correct character set
3232- Model: parameterized queries
3333
3434CodeIgniter provisions
35- ----------------------
35+ ======================
3636
3737- :doc: `HTTP library <../incoming/incomingrequest >` provides for input field filtering & content metadata
3838- Form validation library
@@ -45,7 +45,7 @@ Inadequate authentication or improper session management can lead to a user
4545getting more privileges than they are entitled to.
4646
4747OWASP recommendations
48- ---------------------
48+ =====================
4949
5050- Presentation: validate authentication & role; send CSRF token with forms
5151- Design: only use built-in session management
@@ -54,7 +54,7 @@ OWASP recommendations
5454- Tip: consider the use of a request governor
5555
5656CodeIgniter provisions
57- ----------------------
57+ ======================
5858
5959- :doc: `Session <../libraries/sessions >` library
6060- :doc: `Security </libraries/security >` library provides for CSRF validation
@@ -68,14 +68,14 @@ Insufficient input validation where one user can add content to a web site
6868that can be malicious when viewed by other users to the web site.
6969
7070OWASP recommendations
71- ---------------------
71+ =====================
7272
7373- Presentation: output encode all user data as per output context; set input constraints
7474- Controller: positive input validation
7575- Tips: only process trustworthy data; do not store data HTML encoded in DB
7676
7777CodeIgniter provisions
78- ----------------------
78+ ======================
7979
8080- esc function
8181- Form validation library
@@ -90,14 +90,14 @@ attackers can bypass authorization and access resources in the system directly,
9090for example database records or files.
9191
9292OWASP recommendations
93- ---------------------
93+ =====================
9494
9595- Presentation: don't expose internal data; use random reference maps
9696- Controller: obtain data from trusted sources or random reference maps
9797- Model: validate user roles before updating data
9898
9999CodeIgniter provisions
100- ----------------------
100+ ======================
101101
102102- Form validation library
103103- Easy to add third party authentication
@@ -110,14 +110,14 @@ Improper configuration of an application architecture can lead to mistakes
110110that might compromise the security of the whole architecture.
111111
112112OWASP recommendations
113- ---------------------
113+ =====================
114114
115115- Presentation: harden web and application servers; use HTTP strict transport security
116116- Controller: harden web and application servers; protect your XML stack
117117- Model: harden database servers
118118
119119CodeIgniter provisions
120- ----------------------
120+ ======================
121121
122122- Sanity checks during bootstrap
123123
@@ -131,14 +131,14 @@ if data must be protected when it is stored, it must be protected also during
131131transmission.
132132
133133OWASP recommendations
134- ---------------------
134+ =====================
135135
136136- Presentation: use TLS1.2; use strong ciphers and hashes; do not send keys or hashes to browser
137137- Controller: use strong ciphers and hashes
138138- Model: mandate strong encrypted communications with servers
139139
140140CodeIgniter provisions
141- ----------------------
141+ ======================
142142
143143- Session keys stored encrypted
144144
@@ -152,14 +152,14 @@ if data must be protected when it is stored, it must be protected also during
152152transmission.
153153
154154OWASP recommendations
155- ---------------------
155+ =====================
156156
157157- Presentation: ensure that non-web data is outside the web root; validate users and roles; send CSRF tokens
158158- Controller: validate users and roles; validate CSRF tokens
159159- Model: validate roles
160160
161161CodeIgniter provisions
162- ----------------------
162+ ======================
163163
164164- Public folder, with application and system outside
165165- :doc: `Security </libraries/security >` library provides for CSRF validation
@@ -172,14 +172,14 @@ CSRF is an attack that forces an end user to execute unwanted actions on a web
172172application in which he/she is currently authenticated.
173173
174174OWASP recommendations
175- ---------------------
175+ =====================
176176
177177- Presentation: validate users and roles; send CSRF tokens
178178- Controller: validate users and roles; validate CSRF tokens
179179- Model: validate roles
180180
181181CodeIgniter provisions
182- ----------------------
182+ ======================
183183
184184- :doc: `Security </libraries/security >` library provides for CSRF validation
185185
@@ -191,12 +191,12 @@ Many applications have known vulnerabilities and known attack strategies that
191191can be exploited in order to gain remote control or to exploit data.
192192
193193OWASP recommendations
194- ---------------------
194+ =====================
195195
196196- Don't use any of these
197197
198198CodeIgniter provisions
199- ----------------------
199+ ======================
200200
201201- Third party libraries incorporated must be vetted
202202
@@ -208,14 +208,14 @@ Faulty business logic or injected actionable code could redirect the user
208208inappropriately.
209209
210210OWASP recommendations
211- ---------------------
211+ =====================
212212
213213- Presentation: don't use URL redirection; use random indirect references
214214- Controller: don't use URL redirection; use random indirect references
215215- Model: validate roles
216216
217217CodeIgniter provisions
218- ----------------------
218+ ======================
219219
220220- :doc: `HTTP library <../incoming/incomingrequest >` provides for ...
221221- :doc: `Session <../libraries/sessions >` library provides flashdata
0 commit comments