Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/core.lib.php')
-rw-r--r--libraries/core.lib.php42
1 files changed, 20 insertions, 22 deletions
diff --git a/libraries/core.lib.php b/libraries/core.lib.php
index 58d374b8cb..6a0bb9ac6e 100644
--- a/libraries/core.lib.php
+++ b/libraries/core.lib.php
@@ -12,6 +12,13 @@ if (! defined('PHPMYADMIN')) {
}
/**
+ * String handling (security)
+ */
+require_once 'libraries/string.lib.php';
+require_once 'libraries/String.class.php';
+$PMA_String = new PMA_String();
+
+/**
* checks given $var and returns it if valid, or $default of not valid
* given $var is also checked for type being 'similar' as $default
* or against any other type if $type is provided
@@ -107,11 +114,8 @@ function PMA_isValid(&$var, $type = 'length', $compare = null)
return in_array($var, $type);
}
- /** @var PMA_String $pmaString */
- $pmaString = $GLOBALS['PMA_String'];
-
// allow some aliases of var types
- $type = $pmaString->strtolower($type);
+ $type = strtolower($type);
switch ($type) {
case 'identic' :
$type = 'identical';
@@ -159,7 +163,7 @@ function PMA_isValid(&$var, $type = 'length', $compare = null)
if ($type === 'length' || $type === 'scalar') {
$is_scalar = is_scalar($var);
if ($is_scalar && $type === 'length') {
- return (bool) $pmaString->strlen($var);
+ return (bool) /*overload*/mb_strlen($var);
}
return $is_scalar;
}
@@ -370,20 +374,18 @@ function PMA_getRealSize($size = 0)
'b' => 1,
);
- /** @var PMA_String $pmaString */
- $pmaString = $GLOBALS['PMA_String'];
foreach ($scan as $unit => $factor) {
- $sizeLength = $pmaString->strlen($size);
- $unitLength = $pmaString->strlen($unit);
+ $sizeLength = strlen($size);
+ $unitLength = strlen($unit);
if ($sizeLength > $unitLength
- && $pmaString->strtolower(
- $pmaString->substr(
+ && strtolower(
+ substr(
$size,
$sizeLength - $unitLength
)
) == $unit
) {
- return $pmaString->substr(
+ return substr(
$size,
0,
$sizeLength - $unitLength
@@ -513,15 +515,13 @@ function PMA_checkPageValidity(&$page, $whitelist)
return true;
}
- /** @var PMA_String $pmaString */
- $pmaString = $GLOBALS['PMA_String'];
- $_page = $pmaString->substr($page, 0, $pmaString->strpos($page . '?', '?'));
+ $_page = /*overload*/mb_substr($page, 0, /*overload*/mb_strpos($page . '?', '?'));
if (in_array($_page, $whitelist)) {
return true;
}
$_page = urldecode($page);
- $_page = $pmaString->substr($_page, 0, $pmaString->strpos($_page . '?', '?'));
+ $_page = /*overload*/mb_substr($_page, 0, /*overload*/mb_strpos($_page . '?', '?'));
if (in_array($_page, $whitelist)) {
return true;
}
@@ -572,9 +572,7 @@ function PMA_getenv($var_name)
*/
function PMA_sendHeaderLocation($uri, $use_refresh = false)
{
- /** @var PMA_String $pmaString */
- $pmaString = $GLOBALS['PMA_String'];
- if (PMA_IS_IIS && $pmaString->strlen($uri) > 600) {
+ if (PMA_IS_IIS && /*overload*/mb_strlen($uri) > 600) {
include_once './libraries/js_escape.lib.php';
PMA_Response::getInstance()->disable();
@@ -603,7 +601,7 @@ function PMA_sendHeaderLocation($uri, $use_refresh = false)
}
if (SID) {
- if ($pmaString->strpos($uri, '?') === false) {
+ if (/*overload*/mb_strpos($uri, '?') === false) {
header('Location: ' . $uri . '?' . SID);
} else {
$separator = PMA_URL_getArgSeparator();
@@ -697,7 +695,7 @@ function PMA_downloadHeader($filename, $mimetype, $length = 0, $no_cache = true)
header('Content-Type: ' . $mimetype);
// inform the server that compression has been done,
// to avoid a double compression (for example with Apache + mod_deflate)
- if ($GLOBALS['PMA_String']->strpos($mimetype, 'gzip') !== false) {
+ if (strpos($mimetype, 'gzip') !== false) {
header('Content-Encoding: gzip');
}
header('Content-Transfer-Encoding: binary');
@@ -875,7 +873,7 @@ function PMA_isAllowedDomain($url)
/* Following are doubtful ones. */
'www.primebase.com','pbxt.blogspot.com'
);
- if (in_array($GLOBALS['PMA_String']->strtolower($domain), $domainWhiteList)) {
+ if (in_array(/*overload*/mb_strtolower($domain), $domainWhiteList)) {
return true;
}