Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Problem bei der Suche mit Umlauten

Begonnen von Mister, 02. Juni 2009, 01:11:27

« vorheriges - nächstes »

dark-freedom

#15
Danke für die Willkommensgrüße :)

Der vorläufige Testlink http://dark.ilohost.com/CMS/

Wird später wahrscheinlich noch geändert, was aber ja nichts an der Sache mit der Suche ändern sollte ;)

azett

#16
Öhm...spannend  :shock:

Wir werden das testen.

stefanbe

#17
Hallo dark-freedom

Kanst du mal in der index.php zeile ca. 1132 das mit dem "$_REQUEST[$param] = ..." reinsetzen
    function getRequestParam($param, $clean) {
$_REQUEST[$param] = rawurldecode($_REQUEST[$param]);
 
und dann noch mal testen.

gruss stefanbe

dark-freedom

#18
Funktion wurde soeben auf:
    function getRequestParam($param, $clean) {
        $_REQUEST[$param] = rawurldecode($_REQUEST[$param]);
        if (isset($_REQUEST[$param])) {
          // Nullbytes abfangen!
            if (strpos($_REQUEST[$param], "x00") > 0) {
              die();
          }
            if ($clean) {
                return cleanInput($_REQUEST[$param]);
            }
            else {
                return $_REQUEST[$param];
            }
        }
        // Parameter ist nicht im Request vorhanden
        else {
            return "";
        }
    } 
geändert. Ohne ersichtliche Änderung.

Die Suche "verschluckt" nach wie vor Umlaute sowie das "ß".  :(

dark-freedom

#19
Ich habe in der Funktion "cleanInput" die Zeile
$input = @mb_convert_encoding($input, "ISO-8859-1");  auskommentiert. Damit funktioniert die Suche auch auf dem Webspace. Allerdings kann ich persönlich nicht die daraus folgenden Konsequenzen erkennen oder erahnen.

Das die Funktion "mb_convert_encoding" die Zeichen aus einem String in das "ISO-8859-1" Format kodiert, habe ich dem Manual entnommen. Daraus schließe ich nun, dass wenn jemand z.B. UTF-8 an die Seite senden sollte, es zu Problemen/Risiken kommen kann. Wie könnte ich dies anders verhindern? Gibt es eine ähnliche Funktion? Oder interpretiere ich da nun zu viel hinein? Die Regel "traue keinen Daten von außen" dürfte wohl noch mehr wie früher gelten, nehme ich stark an.

stefanbe

#20
Du kanst in zeile ca. 72

$QUERY_REQUEST = getRequestParam('query', true);

das true in false ändern dann geht nur das "query" nicht über cleanInput().

Die anderen änderungen kanste dann wieder zurück nehmen

gruss stefanbe

dark-freedom

#21
Hab das eben mal so gemacht, zusätzlich habe ich auch den Punkt bei $HIGHLIGHT_REQUEST auf false gesetzt, da andernfalls die Suchtreffer mit Umlauten nicht hinterlegt werden. So weit so schön, Danke :)

Ist dies nun ein Sicherheitsrisiko? Und wenn ja, welche anderen Optionen gibt es um das evtl. Risiko einzugrenzen?

stefanbe

#22
Zitat von: "dark-freedom"Ist dies nun ein Sicherheitsrisiko?
nee eigendlich nicht :)
Das Problemm jede übertragung an den Webserver ist ein Sicherheitsrisiko :roll:
und zwar immer dann wenn eine Lücke im Webserver, PHP, moziloCMS gefunden wurde.
Sicherheit bei Software gibts nur wenns keine mehr gibt :lol:

gruss stefanbe

dark-freedom

#23
Das Software generell nicht risikofrei und schon gar nicht fehlerfrei ist, ist klar. Das lässt sich nicht verhindern, aber dafür gibt es ja Updates ;)

Ich dachte nur evtl. hat es größere Konsequenzen, wenn die Zeichenkette nicht zuvor in die richtige Kodierung umgewandelt wird. Könnte ja sein, dass einige Zeichen gesondert "aussortiert" oder neutralisiert werden, was ohne Umwandlung eben nicht funktioniert.