Skip to content

Commit c9b6f3d

Browse files
authored
Merge pull request #7389 from kenjis/update-concepts-security.rst
docs: improve concepts/security.rst
2 parents 0574c89 + 2679f74 commit c9b6f3d

File tree

6 files changed

+27
-10
lines changed

6 files changed

+27
-10
lines changed

user_guide_src/source/concepts/security.rst

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ OWASP recommendations
3838
CodeIgniter provisions
3939
======================
4040

41-
- :doc:`HTTP library <../incoming/incomingrequest>` provides for input field filtering & content metadata
42-
- Validation library
41+
- :ref:`invalidchars` filter
42+
- :doc:`../libraries/validation` library
43+
- :doc:`HTTP library <../incoming/incomingrequest>` provides for :ref:`input field filtering <incomingrequest-filtering-input-data>` & content metadata
4344

4445
*********************************************
4546
A2 Weak authentication and session management
@@ -62,6 +63,7 @@ CodeIgniter provisions
6263

6364
- :doc:`Session <../libraries/sessions>` library
6465
- :doc:`Security </libraries/security>` library provides for CSRF validation
66+
- An official authentication and authorization framework :ref:`CodeIgniter Shield <shield>`
6567
- Easy to add third party authentication
6668

6769
*****************************
@@ -81,8 +83,9 @@ OWASP recommendations
8183
CodeIgniter provisions
8284
======================
8385

84-
- esc function
85-
- Validation library
86+
- :php:func:`esc()` function
87+
- :doc:`../libraries/validation` library
88+
- Support for :ref:`content-security-policy`
8689

8790
***********************************
8891
A4 Insecure Direct Object Reference
@@ -103,7 +106,8 @@ OWASP recommendations
103106
CodeIgniter provisions
104107
======================
105108

106-
- Validation library
109+
- :doc:`../libraries/validation` library
110+
- An official authentication and authorization framework :ref:`CodeIgniter Shield <shield>`
107111
- Easy to add third party authentication
108112

109113
****************************
@@ -144,7 +148,10 @@ OWASP recommendations
144148
CodeIgniter provisions
145149
======================
146150

147-
- Session keys stored encrypted
151+
- The config for global secure access (``Config\App::$forceGlobalSecureRequests``)
152+
- :php:func:`force_https()` function
153+
- :doc:`../libraries/encryption`
154+
- The :ref:`database config <database-config-explanation-of-values>` (``encrypt``)
148155

149156
****************************************
150157
A7 Missing Function Level Access Control
@@ -165,8 +172,8 @@ OWASP recommendations
165172
CodeIgniter provisions
166173
======================
167174

168-
- Public folder, with application and system outside
169-
- :doc:`Security </libraries/security>` library provides for CSRF validation
175+
- :ref:`Public <application-structure-public>` folder, with application and system outside
176+
- :doc:`Security </libraries/security>` library provides for :ref:`CSRF validation <cross-site-request-forgery>`
170177

171178
************************************
172179
A8 Cross Site Request Forgery (CSRF)
@@ -185,7 +192,7 @@ OWASP recommendations
185192
CodeIgniter provisions
186193
======================
187194

188-
- :doc:`Security </libraries/security>` library provides for CSRF validation
195+
- :doc:`Security </libraries/security>` library provides for :ref:`CSRF validation <cross-site-request-forgery>`
189196

190197
**********************************************
191198
A9 Using Components with Known Vulnerabilities
@@ -222,4 +229,4 @@ CodeIgniter provisions
222229
======================
223230

224231
- :doc:`HTTP library <../incoming/incomingrequest>` provides for ...
225-
- :doc:`Session <../libraries/sessions>` library provides flashdata
232+
- :doc:`Session <../libraries/sessions>` library provides :ref:`sessions-flashdata`

user_guide_src/source/concepts/structure.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ extend the classes, or create new classes, to provide the desired functionality.
5858

5959
All files in this directory live under the ``CodeIgniter`` namespace.
6060

61+
.. _application-structure-public:
62+
6163
public
6264
======
6365

user_guide_src/source/database/configuration.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ and decode it in the constructor in the Config class:
132132

133133
.. literalinclude:: configuration/009.php
134134

135+
.. _database-config-explanation-of-values:
136+
135137
**********************
136138
Explanation of Values:
137139
**********************

user_guide_src/source/incoming/filters.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ The filters bundled with CodeIgniter4 are: :doc:`Honeypot <../libraries/honeypot
204204

205205
.. note:: The filters are executed in the order defined in the config file. However, if enabled, ``DebugToolbar`` is always executed last because it should be able to capture everything that happens in the other filters.
206206

207+
.. _invalidchars:
208+
207209
InvalidChars
208210
=============
209211

user_guide_src/source/incoming/incomingrequest.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,8 @@ You can also use ``getRawInputVar()``, to get the specified variable from raw st
173173

174174
.. literalinclude:: incomingrequest/039.php
175175

176+
.. _incomingrequest-filtering-input-data:
177+
176178
Filtering Input Data
177179
====================
178180

user_guide_src/source/libraries/sessions.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ This method also accepts an array of item keys to unset:
214214

215215
.. literalinclude:: sessions/018.php
216216

217+
.. _sessions-flashdata:
218+
217219
Flashdata
218220
=========
219221

0 commit comments

Comments
 (0)