Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed bug #16880. Added an ini option max_input_time that allows the …

…user

to specify how much time a script may spend parsing input data (POST, GET, etc..).
  • Loading branch information...
commit b9efd223395eb66bf7503a3f8a86d8eb67d4ae13 1 parent dde85e3
Ilia Alshanetsky authored
View
5 main/main.c
@@ -251,6 +251,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_BOOLEAN("html_errors", "1", PHP_INI_ALL, OnUpdateBool, html_errors, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("xmlrpc_errors", "0", PHP_INI_SYSTEM, OnUpdateBool, xmlrpc_errors, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("xmlrpc_error_number", "0", PHP_INI_ALL, OnUpdateInt, xmlrpc_error_number, php_core_globals, core_globals)
+ STD_PHP_INI_ENTRY("max_input_time", "0", PHP_INI_ALL, OnUpdateInt, max_input_time, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("ignore_user_abort", "0", PHP_INI_ALL, OnUpdateBool, ignore_user_abort, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("implicit_flush", "0", PHP_INI_PERDIR|PHP_INI_SYSTEM,OnUpdateBool, implicit_flush, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("log_errors", "0", PHP_INI_ALL, OnUpdateBool, log_errors, php_core_globals, core_globals)
@@ -835,7 +836,7 @@ int php_request_startup(TSRMLS_D)
zend_activate(TSRMLS_C);
sapi_activate(TSRMLS_C);
- zend_set_timeout(EG(timeout_seconds));
+ zend_set_timeout(PG(max_input_time));
if (PG(expose_php)) {
sapi_add_header(SAPI_PHP_VERSION_HEADER, sizeof(SAPI_PHP_VERSION_HEADER)-1, 1);
@@ -1539,6 +1540,8 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
#if defined(ZEND_MULTIBYTE) && defined(HAVE_MBSTRING)
php_mbstring_set_zend_encoding(TSRMLS_C);
#endif /* ZEND_MULTIBYTE && HAVE_MBSTRING */
+ zend_unset_timeout(TSRMLS_C);
+ zend_set_timeout(EG(timeout_seconds));
retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3, prepend_file_p, primary_file, append_file_p) == SUCCESS);
if (old_primary_file_path) {
View
1  main/php_globals.h
@@ -71,6 +71,7 @@ struct _php_core_globals {
char *safe_mode_exec_dir;
long memory_limit;
+ long max_input_time;
zend_bool track_errors;
zend_bool display_errors;
View
1  php.ini-dist
@@ -218,6 +218,7 @@ expose_php = On
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
+max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
View
1  php.ini-recommended
@@ -232,6 +232,7 @@ expose_php = On
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
+max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
Please sign in to comment.
Something went wrong with that request. Please try again.