diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2006-11-03 13:51:48 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2006-11-03 13:51:48 +0000 |
| commit | 6123f110210808aa2557d93e5de32cfbc32ec419 (patch) | |
| tree | 22b3658bbd2e8e44c37c41d0e1b9a71c9d2184be /sapi/apache2handler/sapi_apache2.c | |
| parent | bd2ab7bc1557153242f3efbfdeab1721b20ac614 (diff) | |
| download | php-git-6123f110210808aa2557d93e5de32cfbc32ec419.tar.gz | |
MFH:
Added filter support for $_SERVER in cgi/apache2 sapis
Make sure PHP_SELF is filtered in Apache 1 sapi
Diffstat (limited to 'sapi/apache2handler/sapi_apache2.c')
| -rw-r--r-- | sapi/apache2handler/sapi_apache2.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index f3612bf137..e7789cf863 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -232,13 +232,20 @@ php_apache_sapi_register_variables(zval *track_vars_array TSRMLS_DC) php_struct *ctx = SG(server_context); const apr_array_header_t *arr = apr_table_elts(ctx->r->subprocess_env); char *key, *val; + int new_val_len; APR_ARRAY_FOREACH_OPEN(arr, key, val) - if (!val) val = ""; - php_register_variable(key, val, track_vars_array TSRMLS_CC); + if (!val) { + val = ""; + } + if (sapi_module.input_filter(PARSE_SERVER, key, &val, strlen(val), &new_val_len TSRMLS_CC)) { + php_register_variable_safe(key, val, new_val_len, track_vars_array TSRMLS_CC); + } APR_ARRAY_FOREACH_CLOSE() - php_register_variable("PHP_SELF", ctx->r->uri, track_vars_array TSRMLS_CC); + if (sapi_module.input_filter(PARSE_SERVER, "PHP_SELF", &ctx->r->uri, strlen(ctx->r->uri), &new_val_len TSRMLS_CC)) { + php_register_variable_safe("PHP_SELF", ctx->r->uri, new_val_len, track_vars_array TSRMLS_CC); + } } static void |
