Issues (4388)

Security Analysis    no vulnerabilities found

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  Header Injection
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

config/app.default.php (89 issues)

1
<?php
0 ignored issues
show
The PHP open tag does not have a corresponding PHP close tag
Loading history...
Header blocks must be separated by a single blank line
Loading history...
This file is missing a doc comment.
Loading history...
2
return [
0 ignored issues
show
Missing file doc comment
Loading history...
3
    /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
4
     * Debug Level:
5
     *
6
     * Production Mode:
7
     * false: No error messages, errors, or warnings shown.
8
     *
9
     * Development Mode:
10
     * true: Errors and warnings shown.
11
     */
12
    'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
13
14
    /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
15
     * Configure basic information about the application.
16
     *
17
     * - namespace - The namespace to find app classes under.
18
     * - defaultLocale - The default locale for translation, formatting currencies and numbers, date and time.
0 ignored issues
show
Line exceeds 80 characters; contains 110 characters
Loading history...
19
     * - encoding - The encoding used for HTML + database connections.
20
     * - base - The base directory the app resides in. If false this
21
     *   will be auto detected.
22
     * - dir - Name of app directory.
23
     * - webroot - The webroot directory.
24
     * - wwwRoot - The file path to webroot.
25
     * - baseUrl - To configure CakePHP to *not* use mod_rewrite and to
26
     *   use CakePHP pretty URLs, remove these .htaccess
27
     *   files:
28
     *      /.htaccess
29
     *      /webroot/.htaccess
30
     *   And uncomment the baseUrl key below.
31
     * - fullBaseUrl - A base URL to use for absolute links.
32
     * - imageBaseUrl - Web path to the public images directory under webroot.
33
     * - cssBaseUrl - Web path to the public css directory under webroot.
34
     * - jsBaseUrl - Web path to the public js directory under webroot.
35
     * - paths - Configure paths for non class based resources. Supports the
36
     *   `plugins`, `templates`, `locales` subkeys, which allow the definition of
0 ignored issues
show
Line exceeds 80 characters; contains 81 characters
Loading history...
37
     *   paths for plugins, view templates and locale files respectively.
38
     */
39
    'App' => [
40
        'namespace' => 'App',
41
        'encoding' => env('APP_ENCODING', 'UTF-8'),
42
        'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'),
43
        'base' => false,
44
        'dir' => 'src',
45
        'webroot' => 'webroot',
46
        'wwwRoot' => WWW_ROOT,
47
        // 'baseUrl' => env('SCRIPT_NAME'),
0 ignored issues
show
Unused Code Comprehensibility introduced by
67% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
48
        'fullBaseUrl' => false,
49
        'imageBaseUrl' => 'img/',
50
        'cssBaseUrl' => 'css/',
51
        'jsBaseUrl' => 'js/',
52
        'paths' => [
53
            'plugins' => [ROOT . DS . 'plugins' . DS],
54
            'templates' => [APP . 'Template' . DS],
55
            'locales' => [APP . 'Locale' . DS],
56
        ],
57
    ],
58
59
    /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
60
     * Security and encryption configuration
61
     *
62
     * - salt - A random string used in security hashing methods.
63
     *   The salt value is also used as the encryption key.
64
     *   You should treat it as extremely sensitive data.
65
     */
66
    'Security' => [
67
        'salt' => env('SECURITY_SALT', '__SALT__'),
68
    ],
69
70
    /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
71
     * Apply timestamps with the last modified time to static assets (js, css, images).
0 ignored issues
show
Line exceeds 80 characters; contains 87 characters
Loading history...
72
     * Will append a querystring parameter containing the time the file was modified.
0 ignored issues
show
Line exceeds 80 characters; contains 85 characters
Loading history...
73
     * This is useful for busting browser caches.
0 ignored issues
show
Doc comment short description must be on a single line, further text should be a separate paragraph
Loading history...
74
     *
75
     * Set to true to apply timestamps when debug is true. Set to 'force' to always
0 ignored issues
show
Line exceeds 80 characters; contains 83 characters
Loading history...
76
     * enable timestamping regardless of debug value.
77
     */
78
    'Asset' => [
79
        // 'timestamp' => true,
0 ignored issues
show
Unused Code Comprehensibility introduced by
67% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
80
    ],
81
82
    /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
83
     * Configure the cache adapters.
84
     */
85
    'Cache' => [
86
        'default' => [
87
            'className' => 'File',
88
            'path' => CACHE,
89
            'url' => env('CACHE_DEFAULT_URL', null),
90
        ],
91
92
        /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
93
         * Configure the cache used for general framework caching.
94
         * Translation cache files are stored with this configuration.
95
         * Duration will be set to '+2 minutes' in bootstrap.php when debug = true
0 ignored issues
show
Line exceeds 80 characters; contains 82 characters
Loading history...
96
         * If you set 'className' => 'Null' core cache will be disabled.
0 ignored issues
show
Doc comment short description must be on a single line, further text should be a separate paragraph
Loading history...
97
         */
98
        '_cake_core_' => [
99
            'className' => 'File',
100
            'prefix' => 'myapp_cake_core_',
101
            'path' => CACHE . 'persistent/',
102
            'serialize' => true,
103
            'duration' => '+1 years',
104
            'url' => env('CACHE_CAKECORE_URL', null),
105
        ],
106
107
        /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
108
         * Configure the cache for model and datasource caches. This cache
109
         * configuration is used to store schema descriptions, and table listings
0 ignored issues
show
Line exceeds 80 characters; contains 81 characters
Loading history...
110
         * in connections.
111
         * Duration will be set to '+2 minutes' in bootstrap.php when debug = true
0 ignored issues
show
Line exceeds 80 characters; contains 82 characters
Loading history...
Doc comment short description must be on a single line, further text should be a separate paragraph
Loading history...
112
         */
113
        '_cake_model_' => [
114
            'className' => 'File',
115
            'prefix' => 'myapp_cake_model_',
116
            'path' => CACHE . 'models/',
117
            'serialize' => true,
118
            'duration' => '+1 years',
119
            'url' => env('CACHE_CAKEMODEL_URL', null),
120
        ],
121
    ],
122
123
    /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
124
     * Configure the Error and Exception handlers used by your application.
125
     *
126
     * By default errors are displayed using Debugger, when debug is true and logged
0 ignored issues
show
Line exceeds 80 characters; contains 84 characters
Loading history...
127
     * by Cake\Log\Log when debug is false.
128
     *
129
     * In CLI environments exceptions will be printed to stderr with a backtrace.
0 ignored issues
show
Line exceeds 80 characters; contains 81 characters
Loading history...
130
     * In web environments an HTML page will be displayed for the exception.
131
     * With debug true, framework errors like Missing Controller will be displayed.
0 ignored issues
show
Line exceeds 80 characters; contains 83 characters
Loading history...
132
     * When debug is false, framework errors will be coerced into generic HTTP errors.
0 ignored issues
show
Line exceeds 80 characters; contains 86 characters
Loading history...
133
     *
134
     * Options:
135
     *
136
     * - `errorLevel` - int - The level of errors you are interested in capturing.
0 ignored issues
show
Line exceeds 80 characters; contains 82 characters
Loading history...
137
     * - `trace` - boolean - Whether or not backtraces should be included in
138
     *   logged errors/exceptions.
139
     * - `log` - boolean - Whether or not you want exceptions logged.
140
     * - `exceptionRenderer` - string - The class responsible for rendering
141
     *   uncaught exceptions. If you choose a custom class you should place
142
     *   the file for that class in src/Error. This class needs to implement a
143
     *   render method.
144
     * - `skipLog` - array - List of exceptions to skip for logging. Exceptions that
0 ignored issues
show
Line exceeds 80 characters; contains 84 characters
Loading history...
145
     *   extend one of the listed exceptions will also be skipped for logging.
146
     *   E.g.:
147
     *   `'skipLog' => ['Cake\Network\Exception\NotFoundException', 'Cake\Network\Exception\UnauthorizedException']`
0 ignored issues
show
Line exceeds 80 characters; contains 116 characters
Loading history...
148
     * - `extraFatalErrorMemory` - int - The number of megabytes to increase
149
     *   the memory limit by when a fatal error is encountered. This allows
150
     *   breathing room to complete logging or error handling.
151
     */
152
    'Error' => [
153
        'errorLevel' => E_ALL,
154
        'exceptionRenderer' => 'Cake\Error\ExceptionRenderer',
155
        'skipLog' => [],
156
        'log' => true,
157
        'trace' => true,
158
    ],
159
160
    /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
161
     * Email configuration.
162
     *
163
     * By defining transports separately from delivery profiles you can easily
164
     * re-use transport configuration across multiple profiles.
165
     *
166
     * You can specify multiple configurations for production, development and
167
     * testing.
168
     *
169
     * Each transport needs a `className`. Valid options are as follows:
170
     *
171
     *  Mail   - Send using PHP mail function
172
     *  Smtp   - Send using SMTP
173
     *  Debug  - Do not send the email, just return the result
174
     *
175
     * You can add custom transports (or override existing transports) by adding the
0 ignored issues
show
Line exceeds 80 characters; contains 84 characters
Loading history...
176
     * appropriate file to src/Mailer/Transport. Transports should be named
177
     * 'YourTransport.php', where 'Your' is the name of the transport.
178
     */
179
    'EmailTransport' => [
180
        'default' => [
181
            'className' => 'Mail',
182
            // The following keys are used in SMTP transports
0 ignored issues
show
Inline comments must end in full-stops, exclamation marks, question marks, colons, or closing parentheses
Loading history...
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
183
            'host' => 'localhost',
184
            'port' => 25,
185
            'timeout' => 30,
186
            'username' => 'user',
187
            'password' => 'secret',
188
            'client' => null,
189
            'tls' => null,
190
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
191
        ],
192
    ],
193
194
    /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
195
     * Email delivery profiles
196
     *
197
     * Delivery profiles allow you to predefine various properties about email
198
     * messages from your application and give the settings a name. This saves
199
     * duplication across your application and makes maintenance and development
200
     * easier. Each profile accepts a number of keys. See `Cake\Mailer\Email`
201
     * for more information.
202
     */
203
    'Email' => [
204
        'default' => [
205
            'transport' => 'default',
206
            'from' => 'you@localhost',
207
            //'charset' => 'utf-8',
0 ignored issues
show
Unused Code Comprehensibility introduced by
62% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
No space found before comment text; expected "// 'charset' => 'utf-8'," but found "//'charset' => 'utf-8',"
Loading history...
208
            //'headerCharset' => 'utf-8',
0 ignored issues
show
No space found before comment text; expected "// 'headerCharset' => 'utf-8'," but found "//'headerCharset' => 'utf-8',"
Loading history...
209
        ],
210
    ],
211
212
    /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
213
     * Connection information used by the ORM to connect
214
     * to your application's datastores.
215
     * Do not use periods in database name - it may lead to error.
216
     * See https://github.com/cakephp/cakephp/issues/6471 for details.
217
     * Drivers include Mysql Postgres Sqlite Sqlserver
218
     * See vendor\cakephp\cakephp\src\Database\Driver for complete list
0 ignored issues
show
Doc comment short description must be on a single line, further text should be a separate paragraph
Loading history...
219
     */
220
    'Datasources' => [
221
        'default' => [
222
            'className' => 'Cake\Database\Connection',
223
            'driver' => 'Cake\Database\Driver\Mysql',
224
            'persistent' => false,
225
            'host' => 'localhost',
226
            /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
227
             * CakePHP will use the default DB port based on the driver selected
228
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
229
             * the following line and set the port accordingly
0 ignored issues
show
Doc comment short description must be on a single line, further text should be a separate paragraph
Loading history...
230
             */
231
            //'port' => 'non_standard_port_number',
0 ignored issues
show
Unused Code Comprehensibility introduced by
67% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
No space found before comment text; expected "// 'port' => 'non_standard_port_number'," but found "//'port' => 'non_standard_port_number',"
Loading history...
232
            'username' => 'my_app',
233
            'password' => 'secret',
234
            'database' => 'my_app',
235
            'encoding' => 'utf8',
236
            'timezone' => 'UTC',
237
            'flags' => [],
238
            'cacheMetadata' => true,
239
            'log' => false,
240
241
            /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
242
             * Set identifier quoting to true if you are using reserved words or
243
             * special characters in your table or column names. Enabling this
244
             * setting will result in queries built using the Query Builder having
0 ignored issues
show
Line exceeds 80 characters; contains 82 characters
Loading history...
245
             * identifiers quoted when creating SQL. It should be noted that this
0 ignored issues
show
Line exceeds 80 characters; contains 81 characters
Loading history...
246
             * decreases performance because each query needs to be traversed and
0 ignored issues
show
Line exceeds 80 characters; contains 81 characters
Loading history...
247
             * manipulated before being executed.
0 ignored issues
show
Doc comment short description must be on a single line, further text should be a separate paragraph
Loading history...
248
             */
249
            'quoteIdentifiers' => false,
250
251
            /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
252
             * During development, if using MySQL < 5.6, uncommenting the
253
             * following line could boost the speed at which schema metadata is
254
             * fetched from the database. It can also be set directly with the
255
             * mysql configuration directive 'innodb_stats_on_metadata = 0'
256
             * which is the recommended value in production environments
0 ignored issues
show
Doc comment short description must be on a single line, further text should be a separate paragraph
Loading history...
257
             */
258
            //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
0 ignored issues
show
Unused Code Comprehensibility introduced by
75% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
There must be no blank line following an inline comment
Loading history...
No space found before comment text; expected "// 'init' => ['SET GLOBAL innodb_stats_on_metadata = 0']," but found "//'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],"
Loading history...
259
260
            'url' => env('DATABASE_URL', null),
261
        ],
262
263
        /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
264
         * The test connection is used during the test suite.
265
         */
266
        'test' => [
267
            'className' => 'Cake\Database\Connection',
268
            'driver' => 'Cake\Database\Driver\Mysql',
269
            'persistent' => false,
270
            'host' => 'localhost',
271
            //'port' => 'non_standard_port_number',
0 ignored issues
show
Unused Code Comprehensibility introduced by
67% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
No space found before comment text; expected "// 'port' => 'non_standard_port_number'," but found "//'port' => 'non_standard_port_number',"
Loading history...
272
            'username' => 'my_app',
273
            'password' => 'secret',
274
            'database' => 'test_myapp',
275
            'encoding' => 'utf8',
276
            'timezone' => 'UTC',
277
            'cacheMetadata' => true,
278
            'quoteIdentifiers' => false,
279
            'log' => false,
280
            //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
0 ignored issues
show
Unused Code Comprehensibility introduced by
75% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
No space found before comment text; expected "// 'init' => ['SET GLOBAL innodb_stats_on_metadata = 0']," but found "//'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],"
Loading history...
281
            'url' => env('DATABASE_TEST_URL', null),
282
        ],
283
    ],
284
285
    /**
0 ignored issues
show
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
Block comments must be started with /*
Loading history...
286
     * Configures logging options
287
     */
288
    'Log' => [
289
        'debug' => [
290
            'className' => 'Cake\Log\Engine\FileLog',
291
            'path' => LOGS,
292
            'file' => 'debug',
293
            'levels' => ['notice', 'info', 'debug'],
294
            'url' => env('LOG_DEBUG_URL', null),
295
        ],
296
        'error' => [
297
            'className' => 'Cake\Log\Engine\FileLog',
298
            'path' => LOGS,
299
            'file' => 'error',
300
            'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'],
301
            'url' => env('LOG_ERROR_URL', null),
302
        ],
303
    ],
304
305
    /**
0 ignored issues
show
Block comments must be started with /*
Loading history...
Inline doc block comments are not allowed; use "/* Comment */" or "// Comment" instead
Loading history...
306
     * Session configuration.
307
     *
308
     * Contains an array of settings to use for session configuration. The
309
     * `defaults` key is used to define a default preset to use for sessions, any
0 ignored issues
show
Line exceeds 80 characters; contains 81 characters
Loading history...
310
     * settings declared here will override the settings of the default config.
311
     *
312
     * ## Options
313
     *
314
     * - `cookie` - The name of the cookie to use. Defaults to 'CAKEPHP'.
315
     * - `cookiePath` - The url path for which session cookie is set. Maps to the
0 ignored issues
show
Line exceeds 80 characters; contains 81 characters
Loading history...
316
     *   `session.cookie_path` php.ini config. Defaults to base path of app.
317
     * - `timeout` - The time in minutes the session should be valid for.
318
     *    Pass 0 to disable checking timeout.
319
     *    Please note that php.ini's session.gc_maxlifetime must be equal to or greater
0 ignored issues
show
Line exceeds 80 characters; contains 87 characters
Loading history...
320
     *    than the largest Session['timeout'] in all served websites for it to have the
0 ignored issues
show
Line exceeds 80 characters; contains 87 characters
Loading history...
321
     *    desired effect.
322
     * - `defaults` - The default configuration set to use as a basis for your session.
0 ignored issues
show
Line exceeds 80 characters; contains 87 characters
Loading history...
323
     *    There are four built-in options: php, cake, cache, database.
324
     * - `handler` - Can be used to enable a custom session handler. Expects an
325
     *    array with at least the `engine` key, being the name of the Session engine
0 ignored issues
show
Line exceeds 80 characters; contains 84 characters
Loading history...
326
     *    class to use for managing the session. CakePHP bundles the `CacheSession`
0 ignored issues
show
Line exceeds 80 characters; contains 83 characters
Loading history...
327
     *    and `DatabaseSession` engines.
328
     * - `ini` - An associative array of additional ini values to set.
329
     *
330
     * The built-in `defaults` options are:
331
     *
332
     * - 'php' - Uses settings defined in your php.ini.
333
     * - 'cake' - Saves session files in CakePHP's /tmp directory.
334
     * - 'database' - Uses CakePHP's database sessions.
335
     * - 'cache' - Use the Cache class to save sessions.
336
     *
337
     * To define a custom session handler, save it at src/Network/Session/<name>.php.
0 ignored issues
show
Line exceeds 80 characters; contains 85 characters
Loading history...
338
     * Make sure the class implements PHP's `SessionHandlerInterface` and set
339
     * Session.handler to <name>
340
     *
341
     * To use database sessions, load the SQL file located at config/Schema/sessions.sql
0 ignored issues
show
Line exceeds 80 characters; contains 88 characters
Loading history...
342
     */
343
    'Session' => [
344
        'defaults' => 'php',
345
    ],
346
];
347