Compare commits

..

11 Commits

Author SHA1 Message Date
Uwe Tews ad3e64b890 Merge branch 'v2.6.26' 2014-10-31 00:57:26 +01:00
Uwe Tews 8bcad8125a delete unneeded 2014-10-31 00:56:50 +01:00
monte.ohrt fc60543d80 remove trunk dir 2010-11-11 23:01:55 +00:00
monte.ohrt d88df01d7d tag 2_6_26 2010-11-11 22:50:16 +00:00
monte.ohrt 443e36f1a8 revert super global access changes, and instead use ALLOW_SUPER_GLOBALS for security measures 2009-06-17 14:39:24 +00:00
monte.ohrt c1bf89849b fix syntax error in example 2009-06-15 14:56:50 +00:00
monte.ohrt 4014a41c02 update super global access to gracefully handle unset super global vars 2009-06-15 14:04:53 +00:00
matakagi 3bdad9eaeb sync with en. 2009-06-14 07:23:39 +00:00
matakagi 42696fcc21 sync with en. 2009-06-14 05:59:54 +00:00
monte.ohrt 8189261d68 update example to be css friendly 2009-06-12 14:49:25 +00:00
monte.ohrt 49e154a6f9 make it clear {section} is for sequentially indexed arrays 2009-05-28 14:13:11 +00:00
3 changed files with 45 additions and 27 deletions
+3
View File
@@ -1,3 +1,6 @@
- revert super global access changes, and instead rely on
USE_SUPER_GLOBALS for security
Version 2.6.25 (May 19th, 2009)
-------------------------------
- fix E_NOTICE when sessions are disabled (mohrt)
-20
View File
@@ -562,14 +562,6 @@ class Smarty
*/
var $_cache_including = false;
/**
* array of super globals internally
*
* @var array
*/
var $_supers = array();
/**#@-*/
/**
* The class constructor.
@@ -578,18 +570,6 @@ class Smarty
{
$this->assign('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME']
: @$GLOBALS['HTTP_SERVER_VARS']['SCRIPT_NAME']);
$this->_supers['get'] = $this->request_use_auto_globals ? $_GET : $GLOBALS['HTTP_GET_VARS'];
$this->_supers['post'] = $this->request_use_auto_globals ? $_POST : $GLOBALS['HTTP_POST_VARS'];
$this->_supers['server'] = $this->request_use_auto_globals ? $_SERVER : $GLOBALS['HTTP_SERVER_VARS'];
if(isset($_SESSION))
$this->_supers['session'] = $this->request_use_auto_globals ? $_SESSION : $GLOBALS['HTTP_SESSION_VARS'];
else
$this->_supers['session'] = array();
$this->_supers['request'] = $this->request_use_auto_globals ? $_REQUEST : $GLOBALS['HTTP_REQUEST_VARS'];
$this->_supers['cookies'] = $this->request_use_auto_globals ? $_COOKIE : $GLOBALS['HTTP_COOKIE_VARS'];
$this->_supers['env'] = $this->request_use_auto_globals ? $_ENV : $GLOBALS['HTTP_ENV_VARS'];
}
/**
+42 -7
View File
@@ -2047,27 +2047,57 @@ class Smarty_Compiler extends Smarty {
break;
case 'get':
$compiled_ref = "\$this->_supers['get']";
if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
$this->_syntax_error("(secure mode) super global access not permitted",
E_USER_WARNING, __FILE__, __LINE__);
return;
}
$compiled_ref = "\$_GET";
break;
case 'post':
$compiled_ref = "\$this->_supers['post']";
if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
$this->_syntax_error("(secure mode) super global access not permitted",
E_USER_WARNING, __FILE__, __LINE__);
return;
}
$compiled_ref = "\$_POST";
break;
case 'cookies':
$compiled_ref = "\$this->_supers['cookies']";
if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
$this->_syntax_error("(secure mode) super global access not permitted",
E_USER_WARNING, __FILE__, __LINE__);
return;
}
$compiled_ref = "\$_COOKIE";
break;
case 'env':
$compiled_ref = "\$this->_supers['env']";
if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
$this->_syntax_error("(secure mode) super global access not permitted",
E_USER_WARNING, __FILE__, __LINE__);
return;
}
$compiled_ref = "\$_ENV";
break;
case 'server':
$compiled_ref = "\$this->_supers['server']";
if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
$this->_syntax_error("(secure mode) super global access not permitted",
E_USER_WARNING, __FILE__, __LINE__);
return;
}
$compiled_ref = "\$_SERVER";
break;
case 'session':
$compiled_ref = "\$this->_supers['session']";
if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
$this->_syntax_error("(secure mode) super global access not permitted",
E_USER_WARNING, __FILE__, __LINE__);
return;
}
$compiled_ref = "\$_SESSION";
break;
/*
@@ -2075,8 +2105,13 @@ class Smarty_Compiler extends Smarty {
* compiler.
*/
case 'request':
if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
$this->_syntax_error("(secure mode) super global access not permitted",
E_USER_WARNING, __FILE__, __LINE__);
return;
}
if ($this->request_use_auto_globals) {
$compiled_ref = "\$this->_supers['request']";
$compiled_ref = "\$_REQUEST";
break;
} else {
$this->_init_smarty_vars = true;