Browse Source

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..).
experimental/threaded
Ilia Alshanetsky 23 years ago
parent
commit
b9efd22339
  1. 5
      main/main.c
  2. 1
      main/php_globals.h
  3. 1
      php.ini-dist
  4. 1
      php.ini-recommended

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) {

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;

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)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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)

Loading…
Cancel
Save