diff options
| author | Ben Fuhrmannek | 2014-07-07 17:01:03 +0200 |
|---|---|---|
| committer | Ben Fuhrmannek | 2014-07-07 17:01:03 +0200 |
| commit | 940509ed02db713920612b0994a57d6227c3655c (patch) | |
| tree | 9fa9e45c8e0324b2a099b8475f6f9b1bb9f82a34 /suhosin.ini | |
| parent | f3efcde454d85cdf4b6ddafa05afe99cea5cfd78 (diff) | |
brand new default suhosin.ini with documentation and correct default values
Diffstat (limited to 'suhosin.ini')
| -rw-r--r-- | suhosin.ini | 1363 |
1 files changed, 1138 insertions, 225 deletions
diff --git a/suhosin.ini b/suhosin.ini index ce8e8e9..9d0bc23 100644 --- a/suhosin.ini +++ b/suhosin.ini | |||
| @@ -1,467 +1,1380 @@ | |||
| 1 | extension = suhosin.so | 1 | ; ===================== |
| 2 | 2 | ; Logging Configuration | |
| 3 | ; ----------------------------------------------------------------------------- | 3 | ; ===================== |
| 4 | ; This file was taken from Mandriva Linux with their permission | ||
| 5 | ; ----------------------------------------------------------------------------- | ||
| 6 | |||
| 7 | [suhosin] | ||
| 8 | |||
| 9 | ; ----------------------------------------------------------------------------- | ||
| 10 | ; Logging Options | ||
| 11 | 4 | ||
| 5 | ; suhosin.log.syslog | ||
| 6 | ; ------------------ | ||
| 7 | ; * Type: Integer | ||
| 8 | ; * Default: S_ALL & ~S_SQL | ||
| 9 | ; | ||
| 12 | ; Defines what classes of security alerts are logged to the syslog daemon. | 10 | ; Defines what classes of security alerts are logged to the syslog daemon. |
| 13 | ; Logging of errors of the class S_MEMORY are always logged to syslog, no | 11 | ; Logging of errors of the class S_MEMORY are always logged to syslog, no matter |
| 14 | ; matter what this configuration says, because a corrupted heap could mean that | 12 | ; what this configuration says, because a corrupted heap could mean that the |
| 15 | ; the other logging options will malfunction during the logging process. | 13 | ; other logging options will malfunction during the logging process. |
| 16 | ;suhosin.log.syslog = | 14 | ; |
| 15 | ; Keep in mind that using the constants is only supported when the Suhosin-Patch | ||
| 16 | ; is used. | ||
| 17 | ; | ||
| 18 | ; +------------+-----------+----------------------------------------------------+ | ||
| 19 | ; | Constant | Value | Description | | ||
| 20 | ; +============+===========+====================================================+ | ||
| 21 | ; | S_MEMORY | 1 | All canary violations and the safe unlink | | ||
| 22 | ; | | | protection use this class | | ||
| 23 | ; +------------+-----------+----------------------------------------------------+ | ||
| 24 | ; | S_MISC | 2 | All log messages (f.e. format string protection) | | ||
| 25 | ; | | | that do not fit in other classes use this class | | ||
| 26 | ; +------------+-----------+----------------------------------------------------+ | ||
| 27 | ; | S_VARS | 4 | All variable filters trigger this class | | ||
| 28 | ; +------------+-----------+----------------------------------------------------+ | ||
| 29 | ; | S_FILES | 8 | All violations triggered by the uploaded files | | ||
| 30 | ; | | | filter use this class | | ||
| 31 | ; +------------+-----------+----------------------------------------------------+ | ||
| 32 | ; | S_INCLUDE | 16 | The protection against malicious include filenames | | ||
| 33 | ; | | | use this class | | ||
| 34 | ; +------------+-----------+----------------------------------------------------+ | ||
| 35 | ; | S_SQL | 32 | Failed SQL queries are logged with this class | | ||
| 36 | ; | | | (not yet supported in Suhosin BETA) | | ||
| 37 | ; +------------+-----------+----------------------------------------------------+ | ||
| 38 | ; | S_EXECUTOR | 64 | The execution depth protection uses this logging | | ||
| 39 | ; | | | class | | ||
| 40 | ; +------------+-----------+----------------------------------------------------+ | ||
| 41 | ; | S_MAIL | 128 | The mail() header newline protection uses this | | ||
| 42 | ; | | | logging class | | ||
| 43 | ; +------------+-----------+----------------------------------------------------+ | ||
| 44 | ; | S_SESSION | 256 | The transparent session protection uses this | | ||
| 45 | ; | | | logging class | | ||
| 46 | ; +------------+-----------+----------------------------------------------------+ | ||
| 47 | ; | S_ALL | 511 | Combines all classes | | ||
| 48 | ; +------------+-----------+----------------------------------------------------+ | ||
| 49 | ; | ||
| 50 | ;suhosin.log.syslog = S_ALL & ~S_SQL | ||
| 51 | ; | ||
| 17 | 52 | ||
| 53 | ; suhosin.log.syslog.facility | ||
| 54 | ; --------------------------- | ||
| 55 | ; * Type: Integer | ||
| 56 | ; * Default: LOG_USER | ||
| 57 | ; | ||
| 18 | ; Defines the syslog facility that is used when ALERTs are logged to syslog. | 58 | ; Defines the syslog facility that is used when ALERTs are logged to syslog. |
| 19 | ;suhosin.log.syslog.facility = | 59 | ; Depending on your system type (syslogd) the following facilities are available. |
| 60 | ; Please check your system's include header if the values are the same for your | ||
| 61 | ; syslogd. | ||
| 62 | ; | ||
| 63 | ; +--------------+-------+ | ||
| 64 | ; | Constant | Value | | ||
| 65 | ; +==============+=======+ | ||
| 66 | ; | LOG_KERN | 8 | | ||
| 67 | ; +--------------+-------+ | ||
| 68 | ; | LOG_USER | 9 | | ||
| 69 | ; +--------------+-------+ | ||
| 70 | ; | LOG_MAIL | 10 | | ||
| 71 | ; +--------------+-------+ | ||
| 72 | ; | LOG_DAEMON | 11 | | ||
| 73 | ; +--------------+-------+ | ||
| 74 | ; | LOG_AUTH | 12 | | ||
| 75 | ; +--------------+-------+ | ||
| 76 | ; | LOG_SYSLOG | 13 | | ||
| 77 | ; +--------------+-------+ | ||
| 78 | ; | LOG_LPR | 14 | | ||
| 79 | ; +--------------+-------+ | ||
| 80 | ; | LOG_NEWS | 15 | | ||
| 81 | ; +--------------+-------+ | ||
| 82 | ; | LOG_UUCP | 16 | | ||
| 83 | ; +--------------+-------+ | ||
| 84 | ; | LOG_CRON | 17 | | ||
| 85 | ; +--------------+-------+ | ||
| 86 | ; | LOG_AUTHPRIV | 18 | | ||
| 87 | ; +--------------+-------+ | ||
| 88 | ; | LOG_LOCAL0 | 24 | | ||
| 89 | ; +--------------+-------+ | ||
| 90 | ; | LOG_LOCAL1 | 25 | | ||
| 91 | ; +--------------+-------+ | ||
| 92 | ; | LOG_LOCAL2 | 26 | | ||
| 93 | ; +--------------+-------+ | ||
| 94 | ; | LOG_LOCAL3 | 27 | | ||
| 95 | ; +--------------+-------+ | ||
| 96 | ; | LOG_LOCAL4 | 28 | | ||
| 97 | ; +--------------+-------+ | ||
| 98 | ; | LOG_LOCAL5 | 29 | | ||
| 99 | ; +--------------+-------+ | ||
| 100 | ; | LOG_LOCAL6 | 30 | | ||
| 101 | ; +--------------+-------+ | ||
| 102 | ; | LOG_LOCAL7 | 31 | | ||
| 103 | ; +--------------+-------+ | ||
| 104 | ; | ||
| 105 | ;suhosin.log.syslog.facility = LOG_USER | ||
| 106 | ; | ||
| 20 | 107 | ||
| 108 | ; suhosin.log.syslog.priority | ||
| 109 | ; --------------------------- | ||
| 110 | ; * Type: Integer | ||
| 111 | ; * Default: LOG_ALERT | ||
| 112 | ; | ||
| 21 | ; Defines the syslog priority that is used when ALERTs are logged to syslog. | 113 | ; Defines the syslog priority that is used when ALERTs are logged to syslog. |
| 22 | ;suhosin.log.syslog.priority = | 114 | ; Depending on your system type (syslogd) the following priorities are available. |
| 115 | ; Please check your system's include header if the values are the same for your | ||
| 116 | ; syslogd. | ||
| 117 | ; | ||
| 118 | ; +------------+-------+ | ||
| 119 | ; |Constant | Value | | ||
| 120 | ; +============+=======+ | ||
| 121 | ; |LOG_EMERG | 0 | | ||
| 122 | ; +------------+-------+ | ||
| 123 | ; |LOG_ALERT | 1 | | ||
| 124 | ; +------------+-------+ | ||
| 125 | ; |LOG_CRIT | 2 | | ||
| 126 | ; +------------+-------+ | ||
| 127 | ; |LOG_WARNING | 3 | | ||
| 128 | ; +------------+-------+ | ||
| 129 | ; |LOG_NOTICE | 4 | | ||
| 130 | ; +------------+-------+ | ||
| 131 | ; |LOG_INFO | 5 | | ||
| 132 | ; +------------+-------+ | ||
| 133 | ; |LOG_DEBUG | 6 | | ||
| 134 | ; +------------+-------+ | ||
| 135 | ; |LOG_ERR | 7 | | ||
| 136 | ; +------------+-------+ | ||
| 137 | ; | ||
| 138 | ;suhosin.log.syslog.priority = LOG_ALERT | ||
| 139 | ; | ||
| 23 | 140 | ||
| 141 | ; suhosin.log.sapi | ||
| 142 | ; ---------------- | ||
| 143 | ; * Type: Integer | ||
| 144 | ; * Default: S_ALL & ~S_SQL | ||
| 145 | ; | ||
| 24 | ; Defines what classes of security alerts are logged through the SAPI error log. | 146 | ; Defines what classes of security alerts are logged through the SAPI error log. |
| 25 | ;suhosin.log.sapi = | 147 | ; For a list of available classes see table 1. |
| 148 | ; | ||
| 149 | ;suhosin.log.sapi = S_ALL & ~S_SQL | ||
| 150 | ; | ||
| 26 | 151 | ||
| 27 | ; Defines what classes of security alerts are logged to stdout. Mostly for debugging purposes. | 152 | ; suhosin.log.stdout |
| 28 | ;suhosin.log.stdout = | 153 | ; ------------------ |
| 154 | ; * Type: Integer | ||
| 155 | ; * Default: S_ALL & ~S_SQL | ||
| 156 | ; | ||
| 157 | ; Defines what classes of security alerts are logged through STDOUT. For a list | ||
| 158 | ; of available classes see table 1. | ||
| 159 | ; | ||
| 160 | ;suhosin.log.stdout = S_ALL & ~S_SQL | ||
| 161 | ; | ||
| 29 | 162 | ||
| 30 | ; Defines what classes of security alerts are logged through the external | 163 | ; suhosin.log.file |
| 31 | ; logging. | 164 | ; ---------------- |
| 32 | ;suhosin.log.script = | 165 | ; * Type: Integer |
| 166 | ; * Default: S_ALL | ||
| 167 | ; | ||
| 168 | ; Defines what classes of security alerts are logged to a separate Suhosin log | ||
| 169 | ; file set by suhosin.log.file.name. | ||
| 170 | ; | ||
| 171 | ;suhosin.log.file = S_ALL | ||
| 172 | ; | ||
| 33 | 173 | ||
| 34 | ; Defines what classes of security alerts are logged through the defined PHP | 174 | ; suhosin.log.file.name |
| 35 | ; script. | 175 | ; --------------------- |
| 36 | ;suhosin.log.phpscript = 0 | 176 | ; * Type: String |
| 177 | ; * Default: | ||
| 178 | ; | ||
| 179 | ; Defines the full path to a dedicated Suhosin log file. | ||
| 180 | ; | ||
| 181 | ;suhosin.log.file.name = | ||
| 182 | ; | ||
| 37 | 183 | ||
| 38 | ; Defines the full path to a external logging script. The script is called with | 184 | ; suhosin.log.script |
| 185 | ; ------------------ | ||
| 186 | ; * Type: Integer | ||
| 187 | ; * Default: 0 | ||
| 188 | ; | ||
| 189 | ; Defines what classes of security alerts are logged through the external logging | ||
| 190 | ; script. For a list of available classes see table 1. An exception is the | ||
| 191 | ; S_MEMORY class. It cannot be logged by a script, because S_MEMORY is triggered | ||
| 192 | ; by buffer overflows etc... which means the process is in an unstable state. | ||
| 193 | ; | ||
| 194 | ;suhosin.log.script = 0 | ||
| 195 | ; | ||
| 196 | |||
| 197 | ; suhosin.log.script.name | ||
| 198 | ; ----------------------- | ||
| 199 | ; * Type: String | ||
| 200 | ; * Default: | ||
| 201 | ; | ||
| 202 | ; Defines the full path to an external logging script. The script is called with | ||
| 39 | ; 2 parameters. The first one is the alert class in string notation and the | 203 | ; 2 parameters. The first one is the alert class in string notation and the |
| 40 | ; second parameter is the log message. This can be used for example to mail | 204 | ; second parameter is the log message. This can be used for example to mail |
| 41 | ; failing MySQL queries to your email address, because on a production system | 205 | ; failing MySQL queries to your email address, because on a production system |
| 42 | ; these things should never happen. | 206 | ; these things should never happen (S_SQL not yet supported by Suhosin). |
| 207 | ; | ||
| 43 | ;suhosin.log.script.name = | 208 | ;suhosin.log.script.name = |
| 209 | ; | ||
| 210 | |||
| 211 | ; suhosin.log.phpscript | ||
| 212 | ; --------------------- | ||
| 213 | ; * Type: Integer | ||
| 214 | ; * Default: S_ALL | ||
| 215 | ; | ||
| 216 | ; Defines what classes of security alerts are logged through the defined PHP | ||
| 217 | ; script. For a list of available classes see table 1. Please notice, that only | ||
| 218 | ; those classes are allowed, that can be triggered during script execution. An | ||
| 219 | ; exception is the S_MEMORY class. It cannot be logged by a PHP script, because | ||
| 220 | ; S_MEMORY is triggered by buffer overflows etc... which means the process is in | ||
| 221 | ; an unstable state. | ||
| 222 | ; | ||
| 223 | ;suhosin.log.phpscript = S_ALL | ||
| 224 | ; | ||
| 44 | 225 | ||
| 226 | ; suhosin.log.phpscript.name | ||
| 227 | ; -------------------------- | ||
| 228 | ; * Type: String | ||
| 229 | ; * Default: | ||
| 230 | ; | ||
| 45 | ; Defines the full path to a PHP logging script. The script is called with 2 | 231 | ; Defines the full path to a PHP logging script. The script is called with 2 |
| 46 | ; variables registered in the current scope: SUHOSIN_ERRORCLASS and | 232 | ; variables registered in the current scope: SUHOSIN_ERRORCLASS and |
| 47 | ; SUHOSIN_ERROR. The first one is the alert class and the second variable is | 233 | ; SUHOSIN_ERROR. The first one is the alert class and the second variable is the |
| 48 | ; the log message. This can be used for example to mail attempted remote URL | 234 | ; log message. This can be used for example to mail attempted remote URL include |
| 49 | ; include attacks to your email address. | 235 | ; attacks to your email address. |
| 236 | ; | ||
| 50 | ;suhosin.log.phpscript.name = | 237 | ;suhosin.log.phpscript.name = |
| 238 | ; | ||
| 51 | 239 | ||
| 52 | ; Undocumented | 240 | ; suhosin.log.phpscript.is_safe |
| 241 | ; ----------------------------- | ||
| 242 | ; * Type: Boolean | ||
| 243 | ; * Default: Off | ||
| 244 | ; | ||
| 245 | ; Disables open_basedir (and safe_mode for older PHP versions < 5.4) when | ||
| 246 | ; executing suhosin.log.phpscript.name. | ||
| 247 | ; | ||
| 53 | ;suhosin.log.phpscript.is_safe = Off | 248 | ;suhosin.log.phpscript.is_safe = Off |
| 249 | ; | ||
| 54 | 250 | ||
| 55 | ; When the Hardening-Patch logs an error the log message also contains the IP | 251 | ; ================ |
| 56 | ; of the attacker. Usually this IP is retrieved from the REMOTE_ADDR SAPI | ||
| 57 | ; environment variable. With this switch it is possible to change this behavior | ||
| 58 | ; to read the IP from the X-Forwarded-For HTTP header. This is f.e. necessary | ||
| 59 | ; when your PHP server runs behind a reverse proxy. | ||
| 60 | ;suhosin.log.use-x-forwarded-for = Off | ||
| 61 | |||
| 62 | ; ----------------------------------------------------------------------------- | ||
| 63 | ; Executor Options | 252 | ; Executor Options |
| 253 | ; ================ | ||
| 254 | |||
| 255 | ; suhosin.log.use-x-forwarded-for | ||
| 256 | ; ------------------------------- | ||
| 257 | ; * Type: Boolean | ||
| 258 | ; * Default: Off | ||
| 259 | ; | ||
| 260 | ; When the Suhosin logs an error the log message also contains the IP of the | ||
| 261 | ; attacker. Usually this IP is retrieved from the REMOTE_ADDR SAPI environment | ||
| 262 | ; variable. With this switch it is possible to change this behavior to read the | ||
| 263 | ; IP from the X-Forwarded-For HTTP header. This is for example necessary when | ||
| 264 | ; your PHP server runs behind a reverse proxy. | ||
| 265 | ; | ||
| 266 | ;suhosin.log.use-x-forwarded-for = Off | ||
| 267 | ; | ||
| 64 | 268 | ||
| 269 | ; suhosin.executor.max_depth | ||
| 270 | ; -------------------------- | ||
| 271 | ; * Type: Integer | ||
| 272 | ; * Default: 0 | ||
| 273 | ; | ||
| 65 | ; Defines the maximum stack depth allowed by the executor before it stops the | 274 | ; Defines the maximum stack depth allowed by the executor before it stops the |
| 66 | ; script. Without this function an endless recursion in a PHP script could | 275 | ; script. Without this function an endless recursion in a PHP script could crash |
| 67 | ; crash the PHP executor or trigger the configured memory_limit. A value of | 276 | ; the PHP executor or trigger the configured memory_limit. A value of '0' |
| 68 | ; "0" disables this feature. | 277 | ; disables this feature. |
| 278 | ; | ||
| 69 | ;suhosin.executor.max_depth = 0 | 279 | ;suhosin.executor.max_depth = 0 |
| 280 | ; | ||
| 70 | 281 | ||
| 71 | ; Defines how many "../" an include filename needs to contain to be considered | 282 | ; suhosin.executor.include.max_traversal |
| 72 | ; an attack and stopped. A value of "2" will block "../../etc/passwd", while a | 283 | ; -------------------------------------- |
| 73 | ; value of "3" will allow it. Most PHP applications should work flawlessly with | 284 | ; * Type: Integer |
| 74 | ; values "4" or "5". A value of "0" disables this feature. | 285 | ; * Default: 0 |
| 286 | ; | ||
| 287 | ; Defines how many '../' an include filename needs to contain to be considered an | ||
| 288 | ; attack and stopped. A value of '2' will block '../../etc/passwd', while a value | ||
| 289 | ; of '3' will allow it. Most PHP applications should work flawlessly with values | ||
| 290 | ; '4' or '5'. A value of '0' disables this feature. | ||
| 291 | ; | ||
| 75 | ;suhosin.executor.include.max_traversal = 0 | 292 | ;suhosin.executor.include.max_traversal = 0 |
| 293 | ; | ||
| 76 | 294 | ||
| 295 | ; suhosin.executor.include.whitelist | ||
| 296 | ; ---------------------------------- | ||
| 297 | ; * Type: String | ||
| 298 | ; * Default: | ||
| 299 | ; | ||
| 77 | ; Comma separated whitelist of URL schemes that are allowed to be included from | 300 | ; Comma separated whitelist of URL schemes that are allowed to be included from |
| 78 | ; include or require statements. Additionally to URL schemes it is possible to | 301 | ; include or require statements. Additionally to URL schemes it is possible to |
| 79 | ; specify the beginning of allowed URLs. (f.e.: php://stdin) If no whitelist is | 302 | ; specify the beginning of allowed URLs. (f.e.: php://stdin) If no whitelist is |
| 80 | ; specified, then the blacklist is evaluated. | 303 | ; specified, then the blacklist is evaluated. |
| 304 | ; | ||
| 81 | ;suhosin.executor.include.whitelist = | 305 | ;suhosin.executor.include.whitelist = |
| 306 | ; | ||
| 82 | 307 | ||
| 308 | ; suhosin.executor.include.blacklist | ||
| 309 | ; ---------------------------------- | ||
| 310 | ; * Type: String | ||
| 311 | ; * Default: | ||
| 312 | ; | ||
| 83 | ; Comma separated blacklist of URL schemes that are not allowed to be included | 313 | ; Comma separated blacklist of URL schemes that are not allowed to be included |
| 84 | ; from include or require statements. Additionally to URL schemes it is | 314 | ; from include or require statements. Additionally to URL schemes it is possible |
| 85 | ; possible to specify the beginning of allowed URLs. (f.e.: php://stdin) If no | 315 | ; to specify the beginning of allowed URLs. (f.e.: php://stdin) If no blacklist |
| 86 | ; blacklist and no whitelist is specified all URL schemes are forbidden. | 316 | ; and no whitelist is specified all URL schemes are forbidden. |
| 317 | ; | ||
| 87 | ;suhosin.executor.include.blacklist = | 318 | ;suhosin.executor.include.blacklist = |
| 319 | ; | ||
| 88 | 320 | ||
| 89 | ; Defines if PHP is allows to run code from files that are writable by the | 321 | ; suhosin.executor.include.allow_writable_files |
| 90 | ; current process. If a file is created or modified by a PHP process, there | 322 | ; --------------------------------------------- |
| 91 | ; is a potential danger of code injection. Only turn this on if you are sure | 323 | ; * Type: Boolean |
| 92 | ; that your application does not require writable PHP files. | 324 | ; * Default: On |
| 325 | ; | ||
| 326 | ; Turn this flag off to prevent PHP from executing writable PHP files. This can | ||
| 327 | ; prevent attackers from executing code that was uploaded before. | ||
| 328 | ; | ||
| 329 | ; Note: Some software such as web-installers or web-based plugin installers won't | ||
| 330 | ; work out of the box with this flag turned off. | ||
| 331 | ; | ||
| 93 | ;suhosin.executor.include.allow_writable_files = On | 332 | ;suhosin.executor.include.allow_writable_files = On |
| 333 | ; | ||
| 94 | 334 | ||
| 335 | ; suhosin.executor.func.whitelist | ||
| 336 | ; ------------------------------- | ||
| 337 | ; * Type: String | ||
| 338 | ; * Default: | ||
| 339 | ; | ||
| 95 | ; Comma separated whitelist of functions that are allowed to be called. If the | 340 | ; Comma separated whitelist of functions that are allowed to be called. If the |
| 96 | ; whitelist is empty the blacklist is evaluated, otherwise calling a function | 341 | ; whitelist is empty the blacklist is evaluated, otherwise calling a function not |
| 97 | ; not in the whitelist will terminate the script and get logged. | 342 | ; in the whitelist will terminate the script and get logged. |
| 343 | ; | ||
| 98 | ;suhosin.executor.func.whitelist = | 344 | ;suhosin.executor.func.whitelist = |
| 345 | ; | ||
| 99 | 346 | ||
| 100 | ; Comma separated blacklist of functions that are not allowed to be called. If | 347 | ; suhosin.executor.func.blacklist |
| 101 | ; no whitelist is given, calling a function within the blacklist will terminate | 348 | ; ------------------------------- |
| 102 | ; the script and get logged. | 349 | ; * Type: String |
| 350 | ; * Default: | ||
| 351 | ; | ||
| 352 | ; Comma separated blacklist of functions that are not allowed to be called. If no | ||
| 353 | ; whitelist is given, calling a function within the blacklist will terminate the | ||
| 354 | ; script and get logged. | ||
| 355 | ; | ||
| 103 | ;suhosin.executor.func.blacklist = | 356 | ;suhosin.executor.func.blacklist = |
| 357 | ; | ||
| 104 | 358 | ||
| 359 | ; suhosin.executor.eval.whitelist | ||
| 360 | ; ------------------------------- | ||
| 361 | ; * Type: String | ||
| 362 | ; * Default: | ||
| 363 | ; | ||
| 105 | ; Comma separated whitelist of functions that are allowed to be called from | 364 | ; Comma separated whitelist of functions that are allowed to be called from |
| 106 | ; within eval(). If the whitelist is empty the blacklist is evaluated, | 365 | ; within eval(). If the whitelist is empty the blacklist is evaluated, otherwise |
| 107 | ; otherwise calling a function not in the whitelist will terminate the script | 366 | ; calling a function not in the whitelist will terminate the script and get |
| 108 | ; and get logged. | 367 | ; logged. Please read the instructions carefully. |
| 368 | ; | ||
| 109 | ;suhosin.executor.eval.whitelist = | 369 | ;suhosin.executor.eval.whitelist = |
| 370 | ; | ||
| 110 | 371 | ||
| 372 | ; suhosin.executor.eval.blacklist | ||
| 373 | ; ------------------------------- | ||
| 374 | ; * Type: String | ||
| 375 | ; * Default: | ||
| 376 | ; | ||
| 111 | ; Comma separated blacklist of functions that are not allowed to be called from | 377 | ; Comma separated blacklist of functions that are not allowed to be called from |
| 112 | ; within eval(). If no whitelist is given, calling a function within the | 378 | ; within eval(). If no whitelist is given, calling a function within the |
| 113 | ; blacklist will terminate the script and get logged. | 379 | ; blacklist will terminate the script and get logged. Please read the |
| 380 | ; instructions carefully. | ||
| 381 | ; | ||
| 114 | ;suhosin.executor.eval.blacklist = | 382 | ;suhosin.executor.eval.blacklist = |
| 383 | ; | ||
| 115 | 384 | ||
| 116 | ; eval() is a very dangerous statement and therefore you might want to disable | 385 | ; suhosin.executor.disable_eval |
| 117 | ; it completely. Deactivating it will however break lots of scripts. Because | 386 | ; ----------------------------- |
| 118 | ; every violation is logged, this allows finding all places where eval() is | 387 | ; * Type: Boolean |
| 119 | ; used. | 388 | ; * Default: Off |
| 389 | ; | ||
| 390 | ; eval() is a very dangerous statement and therefore you might want to disable it | ||
| 391 | ; completely. Deactivating it will however break lots of scripts. Because every | ||
| 392 | ; violation is logged, this allows finding all places where eval() is used. | ||
| 393 | ; | ||
| 120 | ;suhosin.executor.disable_eval = Off | 394 | ;suhosin.executor.disable_eval = Off |
| 395 | ; | ||
| 121 | 396 | ||
| 397 | ; suhosin.executor.disable_emodifier | ||
| 398 | ; ---------------------------------- | ||
| 399 | ; * Type: Boolean | ||
| 400 | ; * Default: Off | ||
| 401 | ; | ||
| 122 | ; The /e modifier inside preg_replace() allows code execution. Often it is the | 402 | ; The /e modifier inside preg_replace() allows code execution. Often it is the |
| 123 | ; cause for remote code execution exploits. It is wise to deactivate this | 403 | ; cause for remote code execution exploits. It is wise to deactivate this feature |
| 124 | ; feature and test where in the application it is used. The developer using the | 404 | ; and test where in the application it is used. The developer using the /e |
| 125 | ; /e modifier should be made aware that he should use preg_replace_callback() | 405 | ; modifier should be made aware that he should use preg_replace_callback() |
| 126 | ; instead. | 406 | ; instead. |
| 407 | ; | ||
| 127 | ;suhosin.executor.disable_emodifier = Off | 408 | ;suhosin.executor.disable_emodifier = Off |
| 409 | ; | ||
| 128 | 410 | ||
| 129 | ; This flag reactivates symlink() when open_basedir is used, which is disabled | 411 | ; ============ |
| 130 | ; by default in Suhosin >= 0.9.6. Allowing symlink() while open_basedir is used | ||
| 131 | ; is actually a security risk. | ||
| 132 | ;suhosin.executor.allow_symlink = Off | ||
| 133 | |||
| 134 | ; ----------------------------------------------------------------------------- | ||
| 135 | ; Misc Options | 412 | ; Misc Options |
| 413 | ; ============ | ||
| 136 | 414 | ||
| 415 | ; suhosin.executor.allow_symlink | ||
| 416 | ; ------------------------------ | ||
| 417 | ; * Type: Boolean | ||
| 418 | ; * Default: Off | ||
| 419 | ; | ||
| 420 | ; This flag reactivates symlink() when open_basedir is used, which is disabled by | ||
| 421 | ; default in Suhosin >= 0.9.6. Allowing symlink() while open_basedir is used is | ||
| 422 | ; actually a security risk. | ||
| 423 | ; | ||
| 424 | ;suhosin.executor.allow_symlink = Off | ||
| 425 | ; | ||
| 426 | |||
| 427 | ; suhosin.simulation | ||
| 428 | ; ------------------ | ||
| 429 | ; * Type: Boolean | ||
| 430 | ; * Default: Off | ||
| 431 | ; | ||
| 137 | ; If you fear that Suhosin breaks your application, you can activate Suhosin's | 432 | ; If you fear that Suhosin breaks your application, you can activate Suhosin's |
| 138 | ; simulation mode with this flag. When Suhosin runs in simulation mode, | 433 | ; simulation mode with this flag. When Suhosin runs in simulation mode, |
| 139 | ; violations are logged as usual, but nothing is blocked or removed from the | 434 | ; violations are logged as usual, but nothing is blocked or removed from the |
| 140 | ; request. (Transparent features are NOT deactivated in simulation mode.) | 435 | ; request. (Transparent Encryptions are NOT deactivated in simulation mode.) |
| 141 | ; (since v0.9.30 affects (dis)allowed functions) | 436 | ; |
| 142 | ;suhosin.simulation = Off | 437 | ;suhosin.simulation = Off |
| 438 | ; | ||
| 439 | |||
| 440 | ; suhosin.perdir | ||
| 441 | ; -------------- | ||
| 442 | ; * Type: String | ||
| 443 | ; * Default: "0" | ||
| 444 | ; | ||
| 445 | ; Allow certain categories of config directives to be changed by .htaccess for | ||
| 446 | ; each directory individually. Possible values are "l" (log), "e" (exec), "g" | ||
| 447 | ; (get), "c" (cookie), "p" (post), "r" (request), "s" (sql), "u" (upload), "m" | ||
| 448 | ; (misc) or any combination, e.g. "legcprsum" to allow everything. Both "0" and | ||
| 449 | ; no value disable this feature. | ||
| 450 | ; | ||
| 451 | ;suhosin.perdir = "0" | ||
| 452 | ; | ||
| 143 | 453 | ||
| 454 | ; suhosin.protectkey | ||
| 455 | ; ------------------ | ||
| 456 | ; * Type: Boolean | ||
| 457 | ; * Default: On | ||
| 458 | ; | ||
| 459 | ; Prevent Suhosin's secret key material (suhosin.cookie.cryptkey, | ||
| 460 | ; suhosin.session.cryptkey, suhosin.rand.seedingkey) from being exposed by | ||
| 461 | ; phpinfo(). | ||
| 462 | ; | ||
| 463 | ;suhosin.protectkey = On | ||
| 464 | ; | ||
| 465 | |||
| 466 | ; suhosin.coredump | ||
| 467 | ; ---------------- | ||
| 468 | ; * Type: Boolean | ||
| 469 | ; * Default: Off | ||
| 470 | ; | ||
| 471 | ; Controls if suhosin coredumps when the optional suhosin patch detects a buffer | ||
| 472 | ; overflow, memory corruption or double free. This is only for debugging purposes | ||
| 473 | ; and should not be activated. | ||
| 474 | ; | ||
| 475 | ;suhosin.coredump = Off | ||
| 476 | ; | ||
| 477 | |||
| 478 | ; suhosin.stealth | ||
| 479 | ; --------------- | ||
| 480 | ; * Type: Boolean | ||
| 481 | ; * Default: On | ||
| 482 | ; | ||
| 483 | ; controls if suhosin loads in stealth mode when it is not the only | ||
| 484 | ; zend_extension (Required for full compatibility with certain encoders that | ||
| 485 | ; consider open source untrusted. e.g. ionCube, Zend) | ||
| 486 | ; | ||
| 487 | ;suhosin.stealth = On | ||
| 488 | ; | ||
| 489 | |||
| 490 | ; suhosin.apc_bug_workaround | ||
| 491 | ; -------------------------- | ||
| 492 | ; * Type: Boolean | ||
| 493 | ; * Default: Off | ||
| 494 | ; | ||
| 144 | ; APC 3.0.12(p1/p2) uses reserved resources without requesting a resource slot | 495 | ; APC 3.0.12(p1/p2) uses reserved resources without requesting a resource slot |
| 145 | ; first. It always uses resource slot 0. If Suhosin got this slot assigned APC | 496 | ; first. It always uses resource slot 0. If Suhosin got this slot assigned APC |
| 146 | ; will overwrite the information Suhosin stores in this slot. When this flag is | 497 | ; will overwrite the information Suhosin stores in this slot. When this flag is |
| 147 | ; set Suhosin will request 2 Slots and use the second one. This allows working | 498 | ; set Suhosin will request 2 Slots and use the second one. This allows working |
| 148 | ; correctly with these buggy APC versions. | 499 | ; correctly with these buggy APC versions. |
| 500 | ; | ||
| 149 | ;suhosin.apc_bug_workaround = Off | 501 | ;suhosin.apc_bug_workaround = Off |
| 502 | ; | ||
| 150 | 503 | ||
| 151 | ; When a SQL Query fails scripts often spit out a bunch of useful information | 504 | ; suhosin.disable.display_errors |
| 152 | ; for possible attackers. When this configuration directive is turned on, the | 505 | ; ------------------------------ |
| 153 | ; script will silently terminate, after the problem has been logged. (This is | 506 | ; * Type: String |
| 154 | ; not yet supported) | 507 | ; * Default: 0 |
| 155 | ;suhosin.sql.bailout_on_error = Off | 508 | ; |
| 156 | 509 | ; Prevent PHP from setting display_errors programmatically. "0" means off. Any | |
| 157 | ; This is an experimental feature for shared environments. With this | 510 | ; one of "1", "on", "yes", "true" means on. "fail" or "2" (or greater values) |
| 158 | ; configuration option it is possible to specify a prefix that is automatically | 511 | ; will let PHP know that the value change failed. |
| 159 | ; prepended to the database username, whenever a database connection is made. | 512 | ; |
| 160 | ; (Unless the username starts with the prefix) | 513 | ;suhosin.disable.display_errors = 0 |
| 161 | ;suhosin.sql.user_prefix = | ||
| 162 | |||
| 163 | ; This is an experimental feature for shared environments. With this | ||
| 164 | ; configuration option it is possible to specify a postfix that is | ||
| 165 | ; automatically appended to the database username, whenever a database | ||
| 166 | ; connection is made. (Unless the username end with the postfix) | ||
| 167 | ; | 514 | ; |
| 168 | ; With this feature it is possible for shared hosters to disallow customers to | ||
| 169 | ; connect with the usernames of other customers. This feature is experimental, | ||
| 170 | ; because support for PDO and PostgreSQL are not yet implemented. | ||
| 171 | ;suhosin.sql.user_postfix = | ||
| 172 | 515 | ||
| 516 | ; suhosin.multiheader | ||
| 517 | ; ------------------- | ||
| 518 | ; * Type: Boolean | ||
| 519 | ; * Default: Off | ||
| 520 | ; | ||
| 173 | ; This directive controls if multiple headers are allowed or not in a header() | 521 | ; This directive controls if multiple headers are allowed or not in a header() |
| 174 | ; call. By default the Hardening-Patch forbids this. (HTTP headers spanning | 522 | ; call. By default the Suhosin forbids this. (HTTP headers spanning multiple |
| 175 | ; multiple lines are still allowed). | 523 | ; lines are still allowed). |
| 524 | ; | ||
| 176 | ;suhosin.multiheader = Off | 525 | ;suhosin.multiheader = Off |
| 526 | ; | ||
| 177 | 527 | ||
| 178 | ; This directive controls if the mail() header protection is activated or not | 528 | ; suhosin.mail.protect |
| 179 | ; and to what degree it is activated. The appended table lists the possible | 529 | ; -------------------- |
| 530 | ; * Type: Integer | ||
| 531 | ; * Default: 0 | ||
| 532 | ; | ||
| 533 | ; This directive controls if the mail() header protection is activated or not and | ||
| 534 | ; to what degree it is activated. The appended table lists the possible | ||
| 180 | ; activation levels. | 535 | ; activation levels. |
| 181 | suhosin.mail.protect = 1 | 536 | ; |
| 537 | ; +-------+--------------------------------------------------------------------+ | ||
| 538 | ; | Value | Description | | ||
| 539 | ; +=======+====================================================================+ | ||
| 540 | ; | 0 | mail() header protection is disabled | | ||
| 541 | ; +-------+--------------------------------------------------------------------+ | ||
| 542 | ; | 1 | Disallows newlines in Subject:, To: headers and double newlines in | | ||
| 543 | ; | | additional headers | | ||
| 544 | ; +-------+--------------------------------------------------------------------+ | ||
| 545 | ; | 2 | Additionally disallows To:, CC:, BCC: in additional headers | | ||
| 546 | ; +-------+--------------------------------------------------------------------+ | ||
| 547 | ; | ||
| 548 | ; Logging of this class of alerts is controlled by the new S_MAIL constant. | ||
| 549 | ; | ||
| 550 | ;suhosin.mail.protect = 0 | ||
| 551 | ; | ||
| 182 | 552 | ||
| 553 | ; ======================== | ||
| 554 | ; SQL Injection Protection | ||
| 555 | ; ======================== | ||
| 556 | |||
| 557 | ; suhosin.memory_limit | ||
| 558 | ; -------------------- | ||
| 559 | ; * Type: Integer | ||
| 560 | ; * Default: 0 | ||
| 561 | ; | ||
| 183 | ; As long scripts are not running within safe_mode they are free to change the | 562 | ; As long scripts are not running within safe_mode they are free to change the |
| 184 | ; memory_limit to whatever value they want. Suhosin changes this fact and | 563 | ; memory_limit to whatever value they want. Suhosin changes this fact and |
| 185 | ; disallows setting the memory_limit to a value greater than the one the script | 564 | ; disallows setting the memory_limit to a value greater than the one the script |
| 186 | ; started with, when this option is left at 0. A value greater than 0 means | 565 | ; started with, when this option is left at 0. A value greater than 0 means that |
| 187 | ; that Suhosin will disallows scripts setting the memory_limit to a value above | 566 | ; Suhosin will disallow scripts setting the memory_limit to a value above this |
| 188 | ; this configured hard limit. This is for example usefull if you want to run | 567 | ; configured hard limit. This is for example useful if you want to run the script |
| 189 | ; the script normaly with a limit of 16M but image processing scripts may raise | 568 | ; normally with a limit of 16M but image processing scripts may raise it to 20M. |
| 190 | ; it to 20M. | 569 | ; |
| 570 | ; | ||
| 571 | ; | ||
| 572 | ; This class of features is experimental and still in development. As of Suhosin | ||
| 573 | ; version 0.9.36 only preliminary MySQL support was added. | ||
| 574 | ; | ||
| 191 | ;suhosin.memory_limit = 0 | 575 | ;suhosin.memory_limit = 0 |
| 576 | ; | ||
| 192 | 577 | ||
| 193 | ; ----------------------------------------------------------------------------- | 578 | ; suhosin.sql.bailout_on_error |
| 194 | ; Randomness Options | 579 | ; ---------------------------- |
| 580 | ; * Type: Boolean | ||
| 581 | ; * Default: Off | ||
| 582 | ; | ||
| 583 | ; (Planned feature. This is not yet supported.) When an SQL Query fails scripts | ||
| 584 | ; often spit out a bunch of useful information for possible attackers. When this | ||
| 585 | ; configuration directive is turned on, the script will silently terminate, after | ||
| 586 | ; the problem has been logged. | ||
| 587 | ; | ||
| 588 | ;suhosin.sql.bailout_on_error = Off | ||
| 589 | ; | ||
| 195 | 590 | ||
| 196 | ; Flag that controls if calls to srand() are ignored in favour of suhosin's | 591 | ; suhosin.sql.user_prefix |
| 197 | ; own enhanced seeding - since 0.9.36 calls will trigger auto-reseeding | 592 | ; ----------------------- |
| 198 | ;suhosin.srand.ignore = On | 593 | ; * Type: String |
| 594 | ; * Default: | ||
| 595 | ; | ||
| 596 | ; This is an experimental feature for shared environments. With this | ||
| 597 | ; configuration option it is possible to specify a prefix that is automatically | ||
| 598 | ; prepended to the database username, whenever a database connection is made. | ||
| 599 | ; (Unless the username starts with the prefix) | ||
| 600 | ; | ||
| 601 | ; With this feature it is possible for shared hosters to disallow customers to | ||
| 602 | ; connect with the usernames of other customers. This feature is experimental, | ||
| 603 | ; because support for PDO and PostgreSQL are not yet implemented. | ||
| 604 | ; | ||
| 605 | ;suhosin.sql.user_prefix = | ||
| 606 | ; | ||
| 199 | 607 | ||
| 200 | ; Flag that controls if calls to mt_srand() are ignored in favour of suhosin's | 608 | ; suhosin.sql.user_postfix |
| 201 | ; own enhanced seeding - since 0.9.36 calls will trigger auto-reseeding | 609 | ; ------------------------ |
| 202 | ;suhosin.mt_srand.ignore = On | 610 | ; * Type: String |
| 611 | ; * Default: | ||
| 612 | ; | ||
| 613 | ; This is an experimental feature for shared environments. With this | ||
| 614 | ; configuration option it is possible to specify a postfix that is automatically | ||
| 615 | ; appended to the database username, whenever a database connection is made. | ||
| 616 | ; (Unless the username end with the postfix) | ||
| 617 | ; | ||
| 618 | ; With this feature it is possible for shared hosters to disallow customers to | ||
| 619 | ; connect with the usernames of other customers. This feature is experimental, | ||
| 620 | ; because support for PDO and PostgreSQL are not yet implemented. | ||
| 621 | ; | ||
| 622 | ;suhosin.sql.user_postfix = | ||
| 623 | ; | ||
| 203 | 624 | ||
| 204 | ; Server configuration can add a string into the entropy generation to further | 625 | ; suhosin.sql.comment |
| 205 | ; improve the entropy used for reseeding rand()/mt_rand() | 626 | ; ------------------- |
| 206 | ;suhosin.rand.seedingkey = | 627 | ; * Type: Integer |
| 628 | ; * Default: 0 | ||
| 629 | ; | ||
| 630 | ; This is an experimental feature. Alert if an SQL query contains one or more | ||
| 631 | ; comments starting with --, /* or #. A value of 1 logs the alert; 2 or greater | ||
| 632 | ; let the call fail. | ||
| 633 | ; | ||
| 634 | ; Note: Mysql conditional statements starting with ``/*!`` are exempt if used | ||
| 635 | ; with Mysqli. | ||
| 636 | ; | ||
| 637 | ;suhosin.sql.comment = 0 | ||
| 638 | ; | ||
| 207 | 639 | ||
| 208 | ; Controls if automatic reseeding of rand() / mt_rand() is done for every | 640 | ; suhosin.sql.opencomment |
| 209 | ; new request. Will improve security but decrease performance. | 641 | ; ----------------------- |
| 210 | ; suhosin.rand.reseed_every_request = Off | 642 | ; * Type: Integer |
| 643 | ; * Default: 0 | ||
| 644 | ; | ||
| 645 | ; This is an experimental feature. | ||
| 646 | ; Alert if a MySQL comment was started but not closed: ``/*`` without ``*/``. A | ||
| 647 | ; value of 1 logs the alert; 2 or greater let the call fail. | ||
| 648 | ; | ||
| 649 | ;suhosin.sql.opencomment = 0 | ||
| 650 | ; | ||
| 651 | |||
| 652 | ; suhosin.sql.multiselect | ||
| 653 | ; ----------------------- | ||
| 654 | ; * Type: Integer | ||
| 655 | ; * Default: 0 | ||
| 656 | ; | ||
| 657 | ; This is an experimental feature. | ||
| 658 | ; Alert if an SQL query contains more than one SELECT statement. A value of 1 | ||
| 659 | ; logs the alert; 2 or greater let the call fail. | ||
| 660 | ; | ||
| 661 | ; Note: This flag will recognise multiple statements as well as subselects, e.g. | ||
| 662 | ; "SELECT 1; SELECT 2" and "SELECT * FROM (SELECT 1)". | ||
| 663 | ; | ||
| 664 | ;suhosin.sql.multiselect = 0 | ||
| 665 | ; | ||
| 211 | 666 | ||
| 212 | ; ----------------------------------------------------------------------------- | 667 | ; ============================== |
| 213 | ; Transparent Encryption Options | 668 | ; Transparent Encryption Options |
| 669 | ; ============================== | ||
| 214 | 670 | ||
| 671 | ; suhosin.sql.union | ||
| 672 | ; ----------------- | ||
| 673 | ; * Type: Integer | ||
| 674 | ; * Default: 0 | ||
| 675 | ; | ||
| 676 | ; This is an experimental feature. | ||
| 677 | ; Alert if an SQL query contains one or more UNIONs. | ||
| 678 | ; A value of 1 logs the alert; 2 or greater let the call fail. | ||
| 679 | ; | ||
| 680 | ;suhosin.sql.union = 0 | ||
| 681 | ; | ||
| 682 | |||
| 683 | ; suhosin.session.encrypt | ||
| 684 | ; ----------------------- | ||
| 685 | ; * Type: Boolean | ||
| 686 | ; * Default: On | ||
| 687 | ; | ||
| 215 | ; Flag that decides if the transparent session encryption is activated or not. | 688 | ; Flag that decides if the transparent session encryption is activated or not. |
| 689 | ; | ||
| 216 | ;suhosin.session.encrypt = On | 690 | ;suhosin.session.encrypt = On |
| 691 | ; | ||
| 217 | 692 | ||
| 693 | ; suhosin.session.cryptkey | ||
| 694 | ; ------------------------ | ||
| 695 | ; * Type: String | ||
| 696 | ; * Default: | ||
| 697 | ; | ||
| 218 | ; Session data can be encrypted transparently. The encryption key used consists | 698 | ; Session data can be encrypted transparently. The encryption key used consists |
| 219 | ; of this user defined string (which can be altered by a script via ini_set()) | 699 | ; of this user defined string (which can be altered by a script via ini_set()) |
| 220 | ; and optionally the User-Agent, the Document-Root and 0-4 Octects of the | 700 | ; and optionally the User-Agent, the Document-Root and 0-4 octects of the |
| 221 | ; REMOTE_ADDR. | 701 | ; REMOTE_ADDR. |
| 702 | ; | ||
| 222 | ;suhosin.session.cryptkey = | 703 | ;suhosin.session.cryptkey = |
| 704 | ; | ||
| 223 | 705 | ||
| 706 | ; suhosin.session.cryptua | ||
| 707 | ; ----------------------- | ||
| 708 | ; * Type: Boolean | ||
| 709 | ; * Default: Off | ||
| 710 | ; | ||
| 224 | ; Flag that decides if the transparent session encryption key depends on the | 711 | ; Flag that decides if the transparent session encryption key depends on the |
| 225 | ; User-Agent field. (When activated this feature transparently adds a little | 712 | ; User-Agent field. (When activated this feature transparently adds a little bit |
| 226 | ; bit protection against session fixation/hijacking attacks) | 713 | ; protection against session fixation/hijacking attacks) |
| 227 | ;suhosin.session.cryptua = On | 714 | ; |
| 715 | ;suhosin.session.cryptua = Off | ||
| 716 | ; | ||
| 228 | 717 | ||
| 718 | ; suhosin.session.cryptdocroot | ||
| 719 | ; ---------------------------- | ||
| 720 | ; * Type: Boolean | ||
| 721 | ; * Default: On | ||
| 722 | ; | ||
| 229 | ; Flag that decides if the transparent session encryption key depends on the | 723 | ; Flag that decides if the transparent session encryption key depends on the |
| 230 | ; Documentroot field. | 724 | ; Documentroot field. |
| 725 | ; | ||
| 231 | ;suhosin.session.cryptdocroot = On | 726 | ;suhosin.session.cryptdocroot = On |
| 727 | ; | ||
| 232 | 728 | ||
| 729 | ; suhosin.session.cryptraddr | ||
| 730 | ; -------------------------- | ||
| 731 | ; * Type: Integer | ||
| 732 | ; * Default: 0 | ||
| 733 | ; | ||
| 233 | ; Number of octets (0-4) from the REMOTE_ADDR that the transparent session | 734 | ; Number of octets (0-4) from the REMOTE_ADDR that the transparent session |
| 234 | ; encryption key depends on. Keep in mind that this should not be used on sites | 735 | ; encryption key depends on. Keep in mind that this should not be used on sites |
| 235 | ; that have visitors from big ISPs, because their IP address often changes | 736 | ; that have visitors from big ISPs, because their IP address often changes during |
| 236 | ; during a session. But this feature might be interesting for admin interfaces | 737 | ; a session. But this feature might be interesting for admin interfaces or |
| 237 | ; or intranets. When used wisely this is a transparent protection against | 738 | ; intranets. When used wisely this is a transparent protection against session |
| 238 | ; session hijacking/fixation. | 739 | ; hijacking/fixation. This feature supports IPv4 only. |
| 740 | ; | ||
| 239 | ;suhosin.session.cryptraddr = 0 | 741 | ;suhosin.session.cryptraddr = 0 |
| 742 | ; | ||
| 240 | 743 | ||
| 744 | ; suhosin.session.checkraddr | ||
| 745 | ; -------------------------- | ||
| 746 | ; * Type: Integer | ||
| 747 | ; * Default: 0 | ||
| 748 | ; | ||
| 241 | ; Number of octets (0-4) from the REMOTE_ADDR that have to match to decrypt the | 749 | ; Number of octets (0-4) from the REMOTE_ADDR that have to match to decrypt the |
| 242 | ; session. The difference to suhosin.session.cryptaddr is, that the IP is not | 750 | ; session. The difference to suhosin.session.cryptaddr is, that the IP is not |
| 243 | ; part of the encryption key, so that the same session can be used for | 751 | ; part of the encryption key, so that the same session can be used for different |
| 244 | ; different areas with different protection levels on the site. | 752 | ; areas with different protection levels on the site. This feature supports IPv4 |
| 753 | ; only. | ||
| 754 | ; | ||
| 245 | ;suhosin.session.checkraddr = 0 | 755 | ;suhosin.session.checkraddr = 0 |
| 756 | ; | ||
| 246 | 757 | ||
| 758 | ; suhosin.cookie.encrypt | ||
| 759 | ; ---------------------- | ||
| 760 | ; * Type: Boolean | ||
| 761 | ; * Default: Off | ||
| 762 | ; | ||
| 247 | ; Flag that decides if the transparent cookie encryption is activated or not. | 763 | ; Flag that decides if the transparent cookie encryption is activated or not. |
| 248 | ;suhosin.cookie.encrypt = 0 | 764 | ; |
| 765 | ;suhosin.cookie.encrypt = Off | ||
| 766 | ; | ||
| 249 | 767 | ||
| 768 | ; suhosin.cookie.cryptkey | ||
| 769 | ; ----------------------- | ||
| 770 | ; * Type: String | ||
| 771 | ; * Default: | ||
| 772 | ; | ||
| 250 | ; Cookies can be encrypted transparently. The encryption key used consists of | 773 | ; Cookies can be encrypted transparently. The encryption key used consists of |
| 251 | ; this user defined string and optionally the User-Agent, the Document-Root and | 774 | ; this user defined string and optionally the User-Agent, the Document-Root and |
| 252 | ; 0-4 Octects of the REMOTE_ADDR. | 775 | ; 0-4 octects of the REMOTE_ADDR. |
| 776 | ; | ||
| 253 | ;suhosin.cookie.cryptkey = | 777 | ;suhosin.cookie.cryptkey = |
| 778 | ; | ||
| 254 | 779 | ||
| 780 | ; suhosin.cookie.cryptua | ||
| 781 | ; ---------------------- | ||
| 782 | ; * Type: Boolean | ||
| 783 | ; * Default: On | ||
| 784 | ; | ||
| 255 | ; Flag that decides if the transparent session encryption key depends on the | 785 | ; Flag that decides if the transparent session encryption key depends on the |
| 256 | ; User-Agent field. (When activated this feature transparently adds a little | 786 | ; User-Agent field. (When activated this feature transparently adds a little bit |
| 257 | ; bit protection against session fixation/hijacking attacks (if only session | 787 | ; protection against session fixation/hijacking attacks (if only session cookies |
| 258 | ; cookies are allowed)) | 788 | ; are allowed)) |
| 789 | ; | ||
| 259 | ;suhosin.cookie.cryptua = On | 790 | ;suhosin.cookie.cryptua = On |
| 791 | ; | ||
| 260 | 792 | ||
| 793 | ; suhosin.cookie.cryptdocroot | ||
| 794 | ; --------------------------- | ||
| 795 | ; * Type: Boolean | ||
| 796 | ; * Default: On | ||
| 797 | ; | ||
| 261 | ; Flag that decides if the transparent cookie encryption key depends on the | 798 | ; Flag that decides if the transparent cookie encryption key depends on the |
| 262 | ; Documentroot field. | 799 | ; Documentroot field. |
| 800 | ; | ||
| 263 | ;suhosin.cookie.cryptdocroot = On | 801 | ;suhosin.cookie.cryptdocroot = On |
| 802 | ; | ||
| 264 | 803 | ||
| 804 | ; suhosin.cookie.cryptraddr | ||
| 805 | ; ------------------------- | ||
| 806 | ; * Type: Integer | ||
| 807 | ; * Default: 0 | ||
| 808 | ; | ||
| 265 | ; Number of octets (0-4) from the REMOTE_ADDR that the transparent cookie | 809 | ; Number of octets (0-4) from the REMOTE_ADDR that the transparent cookie |
| 266 | ; encryption key depends on. Keep in mind that this should not be used on sites | 810 | ; encryption key depends on. Keep in mind that this should not be used on sites |
| 267 | ; that have visitors from big ISPs, because their IP address often changes | 811 | ; that have visitors from big ISPs, because their IP address often changes during |
| 268 | ; during a session. But this feature might be interesting for admin interfaces | 812 | ; a session. But this feature might be interesting for admin interfaces or |
| 269 | ; or intranets. When used wisely this is a transparent protection against | 813 | ; intranets. When used wisely this is a transparent protection against session |
| 270 | ; session hijacking/fixation. | 814 | ; hijacking/fixation. This feature supports IPv4 only. |
| 815 | ; | ||
| 271 | ;suhosin.cookie.cryptraddr = 0 | 816 | ;suhosin.cookie.cryptraddr = 0 |
| 817 | ; | ||
| 272 | 818 | ||
| 819 | ; suhosin.cookie.checkraddr | ||
| 820 | ; ------------------------- | ||
| 821 | ; * Type: Integer | ||
| 822 | ; * Default: 0 | ||
| 823 | ; | ||
| 273 | ; Number of octets (0-4) from the REMOTE_ADDR that have to match to decrypt the | 824 | ; Number of octets (0-4) from the REMOTE_ADDR that have to match to decrypt the |
| 274 | ; cookie. The difference to suhosin.cookie.cryptaddr is, that the IP is not | 825 | ; cookie. The difference to suhosin.cookie.cryptaddr is, that the IP is not part |
| 275 | ; part of the encryption key, so that the same cookie can be used for different | 826 | ; of the encryption key, so that the same cookie can be used for different areas |
| 276 | ; areas with different protection levels on the site. | 827 | ; with different protection levels on the site. This feature supports IPv4 only. |
| 828 | ; | ||
| 277 | ;suhosin.cookie.checkraddr = 0 | 829 | ;suhosin.cookie.checkraddr = 0 |
| 830 | ; | ||
| 278 | 831 | ||
| 279 | ; In case not all cookies are supposed to get encrypted this is a comma | 832 | ; suhosin.cookie.cryptlist |
| 280 | ; separated list of cookie names that should get encrypted. All other cookies | 833 | ; ------------------------ |
| 281 | ; will not get touched. | 834 | ; * Type: String |
| 835 | ; * Default: | ||
| 836 | ; | ||
| 837 | ; In case not all cookies are supposed to get encrypted this is a comma separated | ||
| 838 | ; list of cookie names that should get encrypted. All other cookies will not get | ||
| 839 | ; touched. | ||
| 840 | ; | ||
| 282 | ;suhosin.cookie.cryptlist = | 841 | ;suhosin.cookie.cryptlist = |
| 842 | ; | ||
| 843 | |||
| 844 | ; ================= | ||
| 845 | ; Filtering Options | ||
| 846 | ; ================= | ||
| 283 | 847 | ||
| 284 | ; In case some cookies should not be crypted this is a comma separated list of | 848 | ; suhosin.cookie.plainlist |
| 849 | ; ------------------------ | ||
| 850 | ; * Type: String | ||
| 851 | ; * Default: | ||
| 852 | ; | ||
| 853 | ; In case some cookies should not be encrypted this is a comma separated list of | ||
| 285 | ; cookies that do not get encrypted. All other cookies will be encrypted. | 854 | ; cookies that do not get encrypted. All other cookies will be encrypted. |
| 855 | ; | ||
| 286 | ;suhosin.cookie.plainlist = | 856 | ;suhosin.cookie.plainlist = |
| 857 | ; | ||
| 287 | 858 | ||
| 288 | ; ----------------------------------------------------------------------------- | 859 | ; suhosin.filter.action |
| 289 | ; Filtering Options | 860 | ; --------------------- |
| 290 | 861 | ; * Type: Mixed | |
| 291 | ; Defines the reaction of Suhosin on a filter violation. | 862 | ; * Default: |
| 863 | ; | ||
| 864 | ; Defines the reaction of Suhosin on a filter violation. Following possible | ||
| 865 | ; actions are supported | ||
| 866 | ; | ||
| 867 | ; +-------------------------------+--------------------------------------------+ | ||
| 868 | ; | Type | Description | | ||
| 869 | ; +===============================+============================================+ | ||
| 870 | ; | | Normal action is simply blocking the | | ||
| 871 | ; | | variable from being registered | | ||
| 872 | ; +-------------------------------+--------------------------------------------+ | ||
| 873 | ; | 402 | Do not execute the script and return a | | ||
| 874 | ; | | HTTP 402 response code | | ||
| 875 | ; +-------------------------------+--------------------------------------------+ | ||
| 876 | ; | [302,]http://www.example.com | Redirect to http://www.example.com instead | | ||
| 877 | ; | | of executing. Optionally set a specific | | ||
| 878 | ; | | HTTP response code | | ||
| 879 | ; +-------------------------------+--------------------------------------------+ | ||
| 880 | ; | [402,]/var/scripts/badguy.php | Execute a specific PHP script instead of | | ||
| 881 | ; | | the requested script. Optionally set a | | ||
| 882 | ; | | specific HTTP response code | | ||
| 883 | ; +-------------------------------+--------------------------------------------+ | ||
| 884 | ; | ||
| 292 | ;suhosin.filter.action = | 885 | ;suhosin.filter.action = |
| 886 | ; | ||
| 293 | 887 | ||
| 888 | ; suhosin.cookie.max_array_depth | ||
| 889 | ; ------------------------------ | ||
| 890 | ; * Type: Integer | ||
| 891 | ; * Default: 50 | ||
| 892 | ; | ||
| 294 | ; Defines the maximum depth an array variable may have, when registered through | 893 | ; Defines the maximum depth an array variable may have, when registered through |
| 295 | ; the COOKIE. | 894 | ; the COOKIE. |
| 895 | ; | ||
| 896 | ; Note: Array depth is not the number of elements within an array. | ||
| 897 | ; | ||
| 296 | ;suhosin.cookie.max_array_depth = 50 | 898 | ;suhosin.cookie.max_array_depth = 50 |
| 899 | ; | ||
| 297 | 900 | ||
| 901 | ; suhosin.cookie.max_array_index_length | ||
| 902 | ; ------------------------------------- | ||
| 903 | ; * Type: Integer | ||
| 904 | ; * Default: 64 | ||
| 905 | ; | ||
| 298 | ; Defines the maximum length of array indices for variables registered through | 906 | ; Defines the maximum length of array indices for variables registered through |
| 299 | ; the COOKIE. | 907 | ; the COOKIE. |
| 908 | ; | ||
| 300 | ;suhosin.cookie.max_array_index_length = 64 | 909 | ;suhosin.cookie.max_array_index_length = 64 |
| 910 | ; | ||
| 301 | 911 | ||
| 912 | ; suhosin.cookie.max_name_length | ||
| 913 | ; ------------------------------ | ||
| 914 | ; * Type: Integer | ||
| 915 | ; * Default: 64 | ||
| 916 | ; | ||
| 302 | ; Defines the maximum length of variable names for variables registered through | 917 | ; Defines the maximum length of variable names for variables registered through |
| 303 | ; the COOKIE. For array variables this is the name in front of the indices. | 918 | ; the COOKIE. For array variables this is the name in front of the indices. |
| 919 | ; | ||
| 304 | ;suhosin.cookie.max_name_length = 64 | 920 | ;suhosin.cookie.max_name_length = 64 |
| 921 | ; | ||
| 305 | 922 | ||
| 923 | ; suhosin.cookie.max_totalname_length | ||
| 924 | ; ----------------------------------- | ||
| 925 | ; * Type: Integer | ||
| 926 | ; * Default: 256 | ||
| 927 | ; | ||
| 306 | ; Defines the maximum length of the total variable name when registered through | 928 | ; Defines the maximum length of the total variable name when registered through |
| 307 | ; the COOKIE. For array variables this includes all indices. | 929 | ; the COOKIE. For array variables this includes all indices. |
| 930 | ; | ||
| 308 | ;suhosin.cookie.max_totalname_length = 256 | 931 | ;suhosin.cookie.max_totalname_length = 256 |
| 932 | ; | ||
| 309 | 933 | ||
| 310 | ; Defines the maximum length of a variable that is registered through the | 934 | ; suhosin.cookie.max_value_length |
| 311 | ; COOKIE. | 935 | ; ------------------------------- |
| 936 | ; * Type: Integer | ||
| 937 | ; * Default: 10000 | ||
| 938 | ; | ||
| 939 | ; Defines the maximum length of a variable that is registered through the COOKIE. | ||
| 940 | ; | ||
| 312 | ;suhosin.cookie.max_value_length = 10000 | 941 | ;suhosin.cookie.max_value_length = 10000 |
| 942 | ; | ||
| 313 | 943 | ||
| 944 | ; suhosin.cookie.max_vars | ||
| 945 | ; ----------------------- | ||
| 946 | ; * Type: Integer | ||
| 947 | ; * Default: 100 | ||
| 948 | ; | ||
| 314 | ; Defines the maximum number of variables that may be registered through the | 949 | ; Defines the maximum number of variables that may be registered through the |
| 315 | ; COOKIE. | 950 | ; COOKIE. |
| 951 | ; | ||
| 316 | ;suhosin.cookie.max_vars = 100 | 952 | ;suhosin.cookie.max_vars = 100 |
| 953 | ; | ||
| 317 | 954 | ||
| 955 | ; suhosin.cookie.disallow_nul | ||
| 956 | ; --------------------------- | ||
| 957 | ; * Type: Boolean | ||
| 958 | ; * Default: On | ||
| 959 | ; | ||
| 318 | ; When set to On ASCIIZ chars are not allowed in variables. | 960 | ; When set to On ASCIIZ chars are not allowed in variables. |
| 319 | ;suhosin.cookie.disallow_nul = 1 | 961 | ; |
| 962 | ;suhosin.cookie.disallow_nul = On | ||
| 963 | ; | ||
| 320 | 964 | ||
| 965 | ; suhosin.cookie.disallow_ws | ||
| 966 | ; -------------------------- | ||
| 967 | ; * Type: Boolean | ||
| 968 | ; * Default: On | ||
| 969 | ; | ||
| 970 | ; Ignore cookies with names starting with whitespace. | ||
| 971 | ; | ||
| 972 | ;suhosin.cookie.disallow_ws = On | ||
| 973 | ; | ||
| 974 | |||
| 975 | ; suhosin.get.max_array_depth | ||
| 976 | ; --------------------------- | ||
| 977 | ; * Type: Integer | ||
| 978 | ; * Default: 50 | ||
| 979 | ; | ||
| 321 | ; Defines the maximum depth an array variable may have, when registered through | 980 | ; Defines the maximum depth an array variable may have, when registered through |
| 322 | ; the URL | 981 | ; the URL. |
| 982 | ; | ||
| 983 | ; Note: Array depth is not the number of elements within an array. | ||
| 984 | ; | ||
| 323 | ;suhosin.get.max_array_depth = 50 | 985 | ;suhosin.get.max_array_depth = 50 |
| 986 | ; | ||
| 324 | 987 | ||
| 988 | ; suhosin.get.max_array_index_length | ||
| 989 | ; ---------------------------------- | ||
| 990 | ; * Type: Integer | ||
| 991 | ; * Default: 64 | ||
| 992 | ; | ||
| 325 | ; Defines the maximum length of array indices for variables registered through | 993 | ; Defines the maximum length of array indices for variables registered through |
| 326 | ; the URL | 994 | ; the URL. |
| 995 | ; | ||
| 327 | ;suhosin.get.max_array_index_length = 64 | 996 | ;suhosin.get.max_array_index_length = 64 |
| 997 | ; | ||
| 328 | 998 | ||
| 999 | ; suhosin.get.max_name_length | ||
| 1000 | ; --------------------------- | ||
| 1001 | ; * Type: Integer | ||
| 1002 | ; * Default: 64 | ||
| 1003 | ; | ||
| 329 | ; Defines the maximum length of variable names for variables registered through | 1004 | ; Defines the maximum length of variable names for variables registered through |
| 330 | ; the URL. For array variables this is the name in front of the indices. | 1005 | ; the URL. For array variables this is the name in front of the indices. |
| 1006 | ; | ||
| 331 | ;suhosin.get.max_name_length = 64 | 1007 | ;suhosin.get.max_name_length = 64 |
| 1008 | ; | ||
| 332 | 1009 | ||
| 1010 | ; suhosin.get.max_totalname_length | ||
| 1011 | ; -------------------------------- | ||
| 1012 | ; * Type: Integer | ||
| 1013 | ; * Default: 256 | ||
| 1014 | ; | ||
| 333 | ; Defines the maximum length of the total variable name when registered through | 1015 | ; Defines the maximum length of the total variable name when registered through |
| 334 | ; the URL. For array variables this includes all indices. | 1016 | ; the URL. For array variables this includes all indices. |
| 1017 | ; | ||
| 335 | ;suhosin.get.max_totalname_length = 256 | 1018 | ;suhosin.get.max_totalname_length = 256 |
| 1019 | ; | ||
| 336 | 1020 | ||
| 1021 | ; suhosin.get.max_value_length | ||
| 1022 | ; ---------------------------- | ||
| 1023 | ; * Type: Integer | ||
| 1024 | ; * Default: 512 | ||
| 1025 | ; | ||
| 337 | ; Defines the maximum length of a variable that is registered through the URL. | 1026 | ; Defines the maximum length of a variable that is registered through the URL. |
| 1027 | ; | ||
| 338 | ;suhosin.get.max_value_length = 512 | 1028 | ;suhosin.get.max_value_length = 512 |
| 1029 | ; | ||
| 339 | 1030 | ||
| 340 | ; Defines the maximum number of variables that may be registered through the | 1031 | ; suhosin.get.max_vars |
| 341 | ; URL. | 1032 | ; -------------------- |
| 1033 | ; * Type: Integer | ||
| 1034 | ; * Default: 100 | ||
| 1035 | ; | ||
| 1036 | ; Defines the maximum number of variables that may be registered through the URL. | ||
| 1037 | ; | ||
| 342 | ;suhosin.get.max_vars = 100 | 1038 | ;suhosin.get.max_vars = 100 |
| 1039 | ; | ||
| 343 | 1040 | ||
| 1041 | ; suhosin.get.disallow_nul | ||
| 1042 | ; ------------------------ | ||
| 1043 | ; * Type: Boolean | ||
| 1044 | ; * Default: On | ||
| 1045 | ; | ||
| 344 | ; When set to On ASCIIZ chars are not allowed in variables. | 1046 | ; When set to On ASCIIZ chars are not allowed in variables. |
| 345 | ;suhosin.get.disallow_nul = 1 | 1047 | ; |
| 1048 | ;suhosin.get.disallow_nul = On | ||
| 1049 | ; | ||
| 346 | 1050 | ||
| 347 | ; Defines the maximum depth an array variable may have, when registered through | 1051 | ; suhosin.get.disallow_ws |
| 348 | ; a POST request. | 1052 | ; ----------------------- |
| 1053 | ; * Type: Boolean | ||
| 1054 | ; * Default: Off | ||
| 1055 | ; | ||
| 1056 | ; Ignore GET parameters with names starting with whitespace. | ||
| 1057 | ; | ||
| 1058 | ;suhosin.get.disallow_ws = Off | ||
| 1059 | ; | ||
| 1060 | |||
| 1061 | ; suhosin.post.max_array_depth | ||
| 1062 | ; ---------------------------- | ||
| 1063 | ; * Type: Integer | ||
| 1064 | ; * Default: 50 | ||
| 1065 | ; | ||
| 1066 | ; Defines the maximum depth an array variable may have, when registered through a | ||
| 1067 | ; POST request. | ||
| 1068 | ; | ||
| 1069 | ; Note: Array depth is not the number of elements within an array. | ||
| 1070 | ; | ||
| 349 | ;suhosin.post.max_array_depth = 50 | 1071 | ;suhosin.post.max_array_depth = 50 |
| 1072 | ; | ||
| 350 | 1073 | ||
| 351 | ; Defines the maximum length of array indices for variables registered through | 1074 | ; suhosin.post.max_array_index_length |
| 352 | ; a POST request. | 1075 | ; ----------------------------------- |
| 1076 | ; * Type: Integer | ||
| 1077 | ; * Default: 64 | ||
| 1078 | ; | ||
| 1079 | ; Defines the maximum length of array indices for variables registered through a | ||
| 1080 | ; POST request. | ||
| 1081 | ; | ||
| 353 | ;suhosin.post.max_array_index_length = 64 | 1082 | ;suhosin.post.max_array_index_length = 64 |
| 1083 | ; | ||
| 354 | 1084 | ||
| 355 | ; Defines the maximum length of variable names for variables registered through | 1085 | ; suhosin.post.max_name_length |
| 356 | ; a POST request. For array variables this is the name in front of the indices. | 1086 | ; ---------------------------- |
| 1087 | ; * Type: Integer | ||
| 1088 | ; * Default: 64 | ||
| 1089 | ; | ||
| 1090 | ; Defines the maximum length of variable names for variables registered through a | ||
| 1091 | ; POST request. For array variables this is the name in front of the indices. | ||
| 1092 | ; | ||
| 357 | ;suhosin.post.max_name_length = 64 | 1093 | ;suhosin.post.max_name_length = 64 |
| 1094 | ; | ||
| 358 | 1095 | ||
| 359 | ; Defines the maximum length of the total variable name when registered through | 1096 | ; suhosin.post.max_totalname_length |
| 360 | ; a POST request. For array variables this includes all indices. | 1097 | ; --------------------------------- |
| 1098 | ; * Type: Integer | ||
| 1099 | ; * Default: 256 | ||
| 1100 | ; | ||
| 1101 | ; Defines the maximum length of the total variable name when registered through a | ||
| 1102 | ; POST request. For array variables this includes all indices. | ||
| 1103 | ; | ||
| 361 | ;suhosin.post.max_totalname_length = 256 | 1104 | ;suhosin.post.max_totalname_length = 256 |
| 1105 | ; | ||
| 362 | 1106 | ||
| 1107 | ; suhosin.post.max_value_length | ||
| 1108 | ; ----------------------------- | ||
| 1109 | ; * Type: Integer | ||
| 1110 | ; * Default: 1000000 | ||
| 1111 | ; | ||
| 363 | ; Defines the maximum length of a variable that is registered through a POST | 1112 | ; Defines the maximum length of a variable that is registered through a POST |
| 364 | ; request. | 1113 | ; request. |
| 1114 | ; | ||
| 365 | ;suhosin.post.max_value_length = 1000000 | 1115 | ;suhosin.post.max_value_length = 1000000 |
| 1116 | ; | ||
| 366 | 1117 | ||
| 1118 | ; suhosin.post.max_vars | ||
| 1119 | ; --------------------- | ||
| 1120 | ; * Type: Integer | ||
| 1121 | ; * Default: 1000 | ||
| 1122 | ; | ||
| 367 | ; Defines the maximum number of variables that may be registered through a POST | 1123 | ; Defines the maximum number of variables that may be registered through a POST |
| 368 | ; request. | 1124 | ; request. |
| 1125 | ; | ||
| 369 | ;suhosin.post.max_vars = 1000 | 1126 | ;suhosin.post.max_vars = 1000 |
| 1127 | ; | ||
| 370 | 1128 | ||
| 1129 | ; suhosin.post.disallow_nul | ||
| 1130 | ; ------------------------- | ||
| 1131 | ; * Type: Boolean | ||
| 1132 | ; * Default: On | ||
| 1133 | ; | ||
| 371 | ; When set to On ASCIIZ chars are not allowed in variables. | 1134 | ; When set to On ASCIIZ chars are not allowed in variables. |
| 372 | ;suhosin.post.disallow_nul = 1 | 1135 | ; |
| 1136 | ;suhosin.post.disallow_nul = On | ||
| 1137 | ; | ||
| 1138 | |||
| 1139 | ; suhosin.post.disallow_ws | ||
| 1140 | ; ------------------------ | ||
| 1141 | ; * Type: Boolean | ||
| 1142 | ; * Default: Off | ||
| 1143 | ; | ||
| 1144 | ; Ignore POST parameters with names starting with whitespace. | ||
| 1145 | ; | ||
| 1146 | ;suhosin.post.disallow_ws = Off | ||
| 1147 | ; | ||
| 373 | 1148 | ||
| 1149 | ; suhosin.request.max_array_depth | ||
| 1150 | ; ------------------------------- | ||
| 1151 | ; * Type: Integer | ||
| 1152 | ; * Default: 50 | ||
| 1153 | ; | ||
| 374 | ; Defines the maximum depth an array variable may have, when registered through | 1154 | ; Defines the maximum depth an array variable may have, when registered through |
| 375 | ; GET , POST or COOKIE. This setting is also an upper limit for the separate | 1155 | ; GET , POST or COOKIE. This setting is also an upper limit for the separate GET, |
| 376 | ; GET, POST, COOKIE configuration directives. | 1156 | ; POST, COOKIE configuration directives. |
| 1157 | ; | ||
| 1158 | ; Note: Array depth is not the number of elements within an array. | ||
| 1159 | ; | ||
| 377 | ;suhosin.request.max_array_depth = 50 | 1160 | ;suhosin.request.max_array_depth = 50 |
| 1161 | ; | ||
| 378 | 1162 | ||
| 1163 | ; suhosin.request.max_array_index_length | ||
| 1164 | ; -------------------------------------- | ||
| 1165 | ; * Type: Integer | ||
| 1166 | ; * Default: 64 | ||
| 1167 | ; | ||
| 379 | ; Defines the maximum length of array indices for variables registered through | 1168 | ; Defines the maximum length of array indices for variables registered through |
| 380 | ; GET, POST or COOKIE. This setting is also an upper limit for the separate | 1169 | ; GET, POST or COOKIE. This setting is also an upper limit for the separate GET, |
| 381 | ; GET, POST, COOKIE configuration directives. | 1170 | ; POST, COOKIE configuration directives. |
| 1171 | ; | ||
| 382 | ;suhosin.request.max_array_index_length = 64 | 1172 | ;suhosin.request.max_array_index_length = 64 |
| 1173 | ; | ||
| 383 | 1174 | ||
| 1175 | ; suhosin.request.max_totalname_length | ||
| 1176 | ; ------------------------------------ | ||
| 1177 | ; * Type: Integer | ||
| 1178 | ; * Default: 256 | ||
| 1179 | ; | ||
| 384 | ; Defines the maximum length of variable names for variables registered through | 1180 | ; Defines the maximum length of variable names for variables registered through |
| 385 | ; the COOKIE, the URL or through a POST request. This is the complete name | 1181 | ; the COOKIE, the URL or through a POST request. This is the complete name |
| 386 | ; string, including all indicies. This setting is also an upper limit for the | 1182 | ; string, including all indices. This setting is also an upper limit for the |
| 387 | ; separate GET, POST, COOKIE configuration directives. | 1183 | ; separate GET, POST, COOKIE configuration directives. |
| 1184 | ; | ||
| 388 | ;suhosin.request.max_totalname_length = 256 | 1185 | ;suhosin.request.max_totalname_length = 256 |
| 1186 | ; | ||
| 389 | 1187 | ||
| 390 | ; Defines the maximum length of a variable that is registered through the | 1188 | ; suhosin.request.max_value_length |
| 391 | ; COOKIE, the URL or through a POST request. This setting is also an upper | 1189 | ; -------------------------------- |
| 392 | ; limit for the variable origin specific configuration directives. | 1190 | ; * Type: Integer |
| 1191 | ; * Default: 1000000 | ||
| 1192 | ; | ||
| 1193 | ; Defines the maximum length of a variable that is registered through the COOKIE, | ||
| 1194 | ; the URL or through a POST request. This setting is also an upper limit for the | ||
| 1195 | ; variable origin specific configuration directives. | ||
| 1196 | ; | ||
| 393 | ;suhosin.request.max_value_length = 1000000 | 1197 | ;suhosin.request.max_value_length = 1000000 |
| 1198 | ; | ||
| 394 | 1199 | ||
| 1200 | ; suhosin.request.max_vars | ||
| 1201 | ; ------------------------ | ||
| 1202 | ; * Type: Integer | ||
| 1203 | ; * Default: 1000 | ||
| 1204 | ; | ||
| 395 | ; Defines the maximum number of variables that may be registered through the | 1205 | ; Defines the maximum number of variables that may be registered through the |
| 396 | ; COOKIE, the URL or through a POST request. This setting is also an upper | 1206 | ; COOKIE, the URL or through a POST request. This setting is also an upper limit |
| 397 | ; limit for the variable origin specific configuration directives. | 1207 | ; for the variable origin specific configuration directives. |
| 1208 | ; | ||
| 398 | ;suhosin.request.max_vars = 1000 | 1209 | ;suhosin.request.max_vars = 1000 |
| 1210 | ; | ||
| 399 | 1211 | ||
| 400 | ; Defines the maximum name length (excluding possible array indicies) of | 1212 | ; suhosin.request.max_varname_length |
| 401 | ; variables that may be registered through the COOKIE, the URL or through a | 1213 | ; ---------------------------------- |
| 402 | ; POST request. This setting is also an upper limit for the variable origin | 1214 | ; * Type: Integer |
| 403 | ; specific configuration directives. | 1215 | ; * Default: 64 |
| 1216 | ; | ||
| 1217 | ; Defines the maximum name length (excluding possible array indices) of variables | ||
| 1218 | ; that may be registered through the COOKIE, the URL or through a POST request. | ||
| 1219 | ; This setting is also an upper limit for the variable origin specific | ||
| 1220 | ; configuration directives. | ||
| 1221 | ; | ||
| 404 | ;suhosin.request.max_varname_length = 64 | 1222 | ;suhosin.request.max_varname_length = 64 |
| 1223 | ; | ||
| 405 | 1224 | ||
| 1225 | ; suhosin.request.disallow_nul | ||
| 1226 | ; ---------------------------- | ||
| 1227 | ; * Type: Boolean | ||
| 1228 | ; * Default: On | ||
| 1229 | ; | ||
| 406 | ; When set to On ASCIIZ chars are not allowed in variables. | 1230 | ; When set to On ASCIIZ chars are not allowed in variables. |
| 407 | ;suhosin.request.disallow_nul = 1 | 1231 | ; |
| 408 | 1232 | ;suhosin.request.disallow_nul = On | |
| 409 | ; When set to On the dangerous characters <>"'` are urlencoded when found | 1233 | ; |
| 410 | ; not encoded in the server variables REQUEST_URI and QUERY_STRING. This | ||
| 411 | ; will protect against some XSS vulnerabilities. | ||
| 412 | ;suhosin.server.encode = 1 | ||
| 413 | 1234 | ||
| 414 | ; When set to On the dangerous characters <>"'` are replaced with ? in | 1235 | ; suhosin.request.disallow_ws |
| 415 | ; the server variables PHP_SELF, PATH_TRANSLATED and PATH_INFO. This will | 1236 | ; --------------------------- |
| 416 | ; protect against some XSS vulnerabilities. | 1237 | ; * Type: Boolean |
| 417 | ;suhosin.server.strip = 1 | 1238 | ; * Default: Off |
| 1239 | ; | ||
| 1240 | ; Ignore all variables with names starting with whitespace. | ||
| 1241 | ; | ||
| 1242 | ;suhosin.request.disallow_ws = Off | ||
| 1243 | ; | ||
| 418 | 1244 | ||
| 1245 | ; suhosin.upload.max_uploads | ||
| 1246 | ; -------------------------- | ||
| 1247 | ; * Type: Integer | ||
| 1248 | ; * Default: 25 | ||
| 1249 | ; | ||
| 419 | ; Defines the maximum number of files that may be uploaded with one request. | 1250 | ; Defines the maximum number of files that may be uploaded with one request. |
| 1251 | ; | ||
| 420 | ;suhosin.upload.max_uploads = 25 | 1252 | ;suhosin.upload.max_uploads = 25 |
| 1253 | ; | ||
| 421 | 1254 | ||
| 1255 | ; suhosin.upload.disallow_elf | ||
| 1256 | ; --------------------------- | ||
| 1257 | ; * Type: Boolean | ||
| 1258 | ; * Default: On | ||
| 1259 | ; | ||
| 422 | ; When set to On it is not possible to upload ELF executables. | 1260 | ; When set to On it is not possible to upload ELF executables. |
| 423 | ;suhosin.upload.disallow_elf = 1 | 1261 | ; |
| 1262 | ;suhosin.upload.disallow_elf = On | ||
| 1263 | ; | ||
| 424 | 1264 | ||
| 1265 | ; suhosin.upload.disallow_binary | ||
| 1266 | ; ------------------------------ | ||
| 1267 | ; * Type: Boolean | ||
| 1268 | ; * Default: Off | ||
| 1269 | ; | ||
| 425 | ; When set to On it is not possible to upload binary files. | 1270 | ; When set to On it is not possible to upload binary files. |
| 426 | ;suhosin.upload.disallow_binary = 0 | 1271 | ; |
| 1272 | ;suhosin.upload.disallow_binary = Off | ||
| 1273 | ; | ||
| 427 | 1274 | ||
| 1275 | ; suhosin.upload.remove_binary | ||
| 1276 | ; ---------------------------- | ||
| 1277 | ; * Type: Boolean | ||
| 1278 | ; * Default: Off | ||
| 1279 | ; | ||
| 428 | ; When set to On binary content is removed from the uploaded files. | 1280 | ; When set to On binary content is removed from the uploaded files. |
| 429 | ;suhosin.upload.remove_binary = 0 | 1281 | ; |
| 1282 | ;suhosin.upload.remove_binary = Off | ||
| 1283 | ; | ||
| 430 | 1284 | ||
| 1285 | ; suhosin.upload.verification_script | ||
| 1286 | ; ---------------------------------- | ||
| 1287 | ; * Type: String | ||
| 1288 | ; * Default: | ||
| 1289 | ; | ||
| 431 | ; This defines the full path to a verification script for uploaded files. The | 1290 | ; This defines the full path to a verification script for uploaded files. The |
| 432 | ; script gets the temporary filename supplied and has to decide if the upload | 1291 | ; script gets the temporary filename supplied and has to decide if the upload is |
| 433 | ; is allowed. A possible application for this is to scan uploaded files for | 1292 | ; allowed. A possible application for this is to scan uploaded files for viruses. |
| 434 | ; viruses. The called script has to write a 1 as first line to standard output | 1293 | ; The called script has to write a 1 as first line to standard output to allow |
| 435 | ; to allow the upload. Any other value or no output at all will result in the | 1294 | ; the upload. Any other value or no output at all will result in the file being |
| 436 | ; file being deleted. | 1295 | ; deleted. |
| 1296 | ; | ||
| 437 | ;suhosin.upload.verification_script = | 1297 | ;suhosin.upload.verification_script = |
| 1298 | ; | ||
| 438 | 1299 | ||
| 439 | ; Specifies the maximum length of the session identifier that is allowed. When | 1300 | ; suhosin.session.max_id_length |
| 440 | ; a longer session identifier is passed a new session identifier will be | 1301 | ; ----------------------------- |
| 441 | ; created. This feature is important to fight bufferoverflows in 3rd party | 1302 | ; * Type: Integer |
| 442 | ; session handlers. | 1303 | ; * Default: 128 |
| 1304 | ; | ||
| 1305 | ; Specifies the maximum length of the session identifier that is allowed. When a | ||
| 1306 | ; longer session identifier is passed a new session identifier will be created. | ||
| 1307 | ; This feature is important to fight buffer overflows in 3rd party session | ||
| 1308 | ; handlers. | ||
| 1309 | ; | ||
| 443 | ;suhosin.session.max_id_length = 128 | 1310 | ;suhosin.session.max_id_length = 128 |
| 1311 | ; | ||
| 444 | 1312 | ||
| 445 | ; Undocumented: Controls if suhosin coredumps when the optional suhosin patch | 1313 | ; suhosin.server.encode |
| 446 | ; detects a bufferoverflow, memory corruption or double free. This is only | 1314 | ; --------------------- |
| 447 | ; for debugging purposes and should not be activated. | 1315 | ; * Type: Boolean |
| 448 | ;suhosin.coredump = Off | 1316 | ; * Default: On |
| 1317 | ; | ||
| 1318 | ; Encode potentially dangerous characters in REQUEST_URI and QUERY_STRING with | ||
| 1319 | ; URL encoding. | ||
| 1320 | ; | ||
| 1321 | ;suhosin.server.encode = On | ||
| 1322 | ; | ||
| 449 | 1323 | ||
| 450 | ; Undocumented: Controls if the encryption keys specified by the configuration | 1324 | ; suhosin.server.strip |
| 451 | ; are shown in the phpinfo() output or if they are hidden from it | 1325 | ; -------------------- |
| 452 | ;suhosin.protectkey = 1 | 1326 | ; * Type: Boolean |
| 1327 | ; * Default: On | ||
| 1328 | ; | ||
| 1329 | ; Replace potentially dangerous characters in PHP_SELF, PATH_INFO, | ||
| 1330 | ; PATH_TRANSLATED and HTTP_USER_AGENT with '?'. | ||
| 1331 | ; | ||
| 1332 | ;suhosin.server.strip = On | ||
| 1333 | ; | ||
| 453 | 1334 | ||
| 454 | ; Controls if suhosin loads in stealth mode when it is not the only | 1335 | ; suhosin.rand.seedingkey |
| 455 | ; zend_extension (Required for full compatibility with certain encoders | 1336 | ; ----------------------- |
| 456 | ; that consider open source untrusted. e.g. ionCube, Zend) | 1337 | ; * Type: String |
| 457 | ;suhosin.stealth = 1 | 1338 | ; * Default: |
| 1339 | ; | ||
| 1340 | ; This string is added to the entropy pool for seeding the random number | ||
| 1341 | ; generator. | ||
| 1342 | ; | ||
| 1343 | ;suhosin.rand.seedingkey = | ||
| 1344 | ; | ||
| 1345 | |||
| 1346 | ; suhosin.rand.reseed_every_request | ||
| 1347 | ; --------------------------------- | ||
| 1348 | ; * Type: Boolean | ||
| 1349 | ; * Default: Off | ||
| 1350 | ; | ||
| 1351 | ; Controls if automatic reseeding of rand() / mt_rand() is done for every new | ||
| 1352 | ; request. Will improve security but decrease performance. In case the system's | ||
| 1353 | ; entry pool is exhausted, this flag may either significantly increase execution | ||
| 1354 | ; time or otherwise use less entropy (which is bad). | ||
| 1355 | ; | ||
| 1356 | ;suhosin.rand.reseed_every_request = Off | ||
| 1357 | ; | ||
| 1358 | |||
| 1359 | ; suhosin.srand.ignore | ||
| 1360 | ; -------------------- | ||
| 1361 | ; * Type: Boolean | ||
| 1362 | ; * Default: On | ||
| 1363 | ; | ||
| 1364 | ; Flag that controls if calls to srand() are ignored in favour of Suhosin's own | ||
| 1365 | ; enhanced seeding - since 0.9.36 calls will trigger auto-reseeding. | ||
| 1366 | ; | ||
| 1367 | ;suhosin.srand.ignore = On | ||
| 1368 | ; | ||
| 1369 | |||
| 1370 | ; suhosin.mt_srand.ignore | ||
| 1371 | ; ----------------------- | ||
| 1372 | ; * Type: Boolean | ||
| 1373 | ; * Default: On | ||
| 1374 | ; | ||
| 1375 | ; Flag that controls if calls to mt_srand() are ignored in favour of Suhosin's | ||
| 1376 | ; own enhanced seeding - since 0.9.36 calls will trigger auto-reseeding. | ||
| 1377 | ; | ||
| 1378 | ;suhosin.mt_srand.ignore = On | ||
| 1379 | ; | ||
| 458 | 1380 | ||
| 459 | ; Controls if suhosin's ini directives are changeable per directory | ||
| 460 | ; because the admin might want to allow some features to be controlable | ||
| 461 | ; by .htaccess and some not. For example the logging capabilities can | ||
| 462 | ; break safemode and open_basedir restrictions when .htaccess support is | ||
| 463 | ; allowed and the admin forgot to fix their values in httpd.conf | ||
| 464 | ; An empty value or a 0 will result in all directives not allowed in | ||
| 465 | ; .htaccess. The string "legcprsum" will allow logging, execution, get, | ||
| 466 | ; post, cookie, request, sql, upload, misc features in .htaccess | ||
| 467 | ;suhosin.perdir = "0" | ||
