Ergebnis 1 bis 6 von 6

Thema: Backslash "\" in Formularfeld

  1. #1
    Contao-Nutzer Avatar von tshellshock
    Registriert seit
    07.09.2009.
    Ort
    Leipzig
    Beiträge
    32

    Standard Backslash "\" in Formularfeld

    Hallo Zusammen,

    ich hab ein kleines Problem mit dem Backslash "\" bzw. Backslash und daruaffolgender Null "\0" und benötige da ein wenig Hilfe bzw. Aufklärung.

    Ich habe in unserem Firmen-Intranet ein Formular über das Ordner-Pfade verschickt weden sollen! Diese Pfade sind natürlich mit "\" gespickt und ein Standard-Pfad sieht bei uns bspw. so aus: "G:\01_ErsterOrdner\06_SechsterOrdner\03_DritterOr dner..." Auf den "\" folgt in aller Regel eine "0". Wenn ich nun diese Formular per E-Mail absende werden der "\" mit darauffolgender "0" entfernt und ich erhalte, wenn man das obige Beispiel übernimmt folgendes in der E-Mail: "G:1_ErsterOrdner6_SechsterOrdner3_DritterOrdner.. ."

    Damit kann natürlich niemand etwas anfangen und ich weiß nicht wie man das Problem lösen kann. Ich habe es mit textfield, text area mit Eingabeprüfung und ohne Eingabeprüfung versucht und erhalte stets das gleiche Ergebnis!

    Nur wenn im Pfad keine "0" auf einen "\" Backslash folgt funktioniert es: G:\1_ErsterOrdner\6_SechsterOrdner\3_DritterOrdner .

    Bevor jetzt einer auf die Idee kommt und mir vorschlägt ich solle unsere Ordner alle umbenennen das eben keine "0" als erstes Zeichen kommt. Es sind über 50.000 Ordner. Das werde ich nicht tun .

    Kann mir jemand helfen?

  2. #2
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    "\0" ist ein sogenannter Null Character und wird von der Contao Input Klasse automatisch entfernt...

    Das kann dann zu einner Null Byte Injection führen, was schlechte Auswirkungen haben kann...

    Da wir es hier ja schlecht entfernen können, müsstest du dich wohl direkt in die Formularverarbeitung einklinken und das Feld manuell setzen... In dem du dort z. B. die Rohdaten verwendest.

  3. #3
    Contao-Nutzer Avatar von tshellshock
    Registriert seit
    07.09.2009.
    Ort
    Leipzig
    Beiträge
    32

    Standard

    Hallo Flex,

    vielen Dank für deine Antwort. Ich befasse mich eher weniger mit dem programmieren im Core oder in Templates und Extensions. Kannst du mir daher sagen, vvlt. auch ein wenig anleiten wie ich das anstellen kann?

    Vielen Dank und viele Grüße

  4. #4
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    Spontan habe ich da nichts vorbereitet, aber ein DRECKIGER Fix wäre folgendes:

    PHP-Code:
            // Remove NULL characters
            
    $varValue preg_replace('/\0+/'''$varValue);
            
    $varValue preg_replace('/(\\\\0)+/'''$varValue); 
    zu

    PHP-Code:
            // Remove NULL characters
            // $varValue = preg_replace('/\0+/', '', $varValue);
            // $varValue = preg_replace('/(\\\\0)+/', '', $varValue); 
    Danach würde es funktionieren... Aber du verlierst ein Stück Sicherheit bei der grundsätzliche Validierung von ALLEN Inputs...
    Alles andere wäre wohl ein Auftrag für die Kleinstaufträge:
    https://community.contao.org/de/foru...ne-Auftr%E4ge)

  5. #5
    Contao-Nutzer Avatar von tshellshock
    Registriert seit
    07.09.2009.
    Ort
    Leipzig
    Beiträge
    32

    Standard

    Welche Auswirkungen könnte beispielhaft ein dreckiger Fix haben?

    An einen Kleinstauftrag habe ich auch schon gedacht.

    Vielen Dank

  6. #6
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •