PHP Security

In diesem Board könnt Ihr alle "allgemeinen" Fragen zum Thema MyOOS stellen.
Antworten
r23
Beiträge: 2681
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

PHP Security

Beitrag von r23 »

Hallo,

wir verwenden zurzeit in unserem MyOOS Projekt bis 2.1.0
eine "Lösung" für magic_quotes_gpc if enabled
von Ilia Alshanetsky (Advanced PHP Security)

Code: Alles auswählen

  if ((int)get_magic_quotes_gpc() > 0) {
    $in = array(&$_GET, &$_POST, &$_COOKIE);

    while (list($k, $v) = each($in)) {
      foreach ($v as $key => $val) {
        if (!is_array($val)) {
          $in[$k][$key] = stripslashes($val);

          continue;
        }

        $in[] =& $in[$k][$key];
      }
    }

    unset($in);
    unset($k);
    unset($v);
    unset($key);
    unset($val);
  } 
~/shop/includes/function/function_compatibility.php

Sein Blog http://ilia.ws/

Ich möchte die Sicherheit in unserem System bis PHP Version 5.3
erhöhen und die o.g. Funktion durch die im PHP
Hanbuch ersetzen.

http://de2.php.net/manual/en/security.m ... abling.php

Code: Alles auswählen

if (get_magic_quotes_gpc()) {
    function undoMagicQuotes($array, $topLevel=true) {
        $newArray = array();
        foreach($array as $key => $value) {
            if (!$topLevel) {
                $key = stripslashes($key);
            }
            if (is_array($value)) {
                $newArray[$key] = undoMagicQuotes($value, false);
            }
            else {
                $newArray[$key] = stripslashes($value);
            }
        }
        return $newArray;
    }
    $_GET = undoMagicQuotes($_GET);
    $_POST = undoMagicQuotes($_POST);
    $_COOKIE = undoMagicQuotes($_COOKIE);
    $_REQUEST = undoMagicQuotes($_REQUEST);
}
Damit nehmen wir nun auch

$_REQUEST
http://de2.php.net/manual/de/reserved.v ... equest.php

auf.

Wenn man die Möglichkeit hat, sollte man

Code: Alles auswählen

php_flag magic_quotes_gpc off
in ~/.htaccess ausschalten sollte man auf einem System mit
magic_quotes_gpc on arbeiten.

schon aus Gründen der Performance ;)
performance

cu

ralf
Antworten