"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Zeicheneinschränkung (UTF-8) bei Webapplikationen

Garrett 26.03.2020 - 15:30 6863 27
Posts

daisho

SHODAN
Avatar
Registered: Nov 2002
Location: 4C4
Posts: 19561
Gut, das Beispiel kann man abfedern indem jeder User z.B. eine eindeutige unique ID besitzt (Nummer) die er angeben kann wenn es sprachliche Barrieren gibt, oder der User schickt eine geschriebene Nachricht damit die Person gegenüber Copy & Paste machen kann.

Wobei ich sagen muss dass ein einfaches Userprofil im englisch-deutschen Raum vermutlich eher unwichtig ist und wohl keine Unterstützung für Aubergine braucht. Ganz anders sieht es da aus wenn man Nachrichten von A nach B verschickt und am Weg Informationen verloren gehen ...

Garrett

Here to stay
Avatar
Registered: May 2003
Location: Wien
Posts: 1077
Zitat aus einem Post von daisho
Wobei ich sagen muss dass ein einfaches Userprofil im englisch-deutschen Raum vermutlich eher unwichtig ist und wohl keine Unterstützung für Aubergine braucht.
Vollkommen richtig, die Frage ist nur wie mach ich jetzt eine sinnvolle Zeicheneinschränkung, damit der User keine Aubergine eingeben kann aber sehr wohl noch seine Hatscheks oder kyrillische Schriftzeichen? Sowohl technisch als auch inhaltlich, wie grenze ich hier sinnvoll ab?
Bearbeitet von Garrett am 01.04.2020, 13:45

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11891
Unicode unterteilt sich praktischerweise in Planes/Ebenen. Mit der BMP (Basic Multilingual Plane) deckt man sicher die allermeisten legitimen Interessen und Notwendigkeiten (aber auch ein paar nicht so legitime ;)) ab.

Am Ende des Tages haengt es aber wieder am Support der Plattform/Laufzeitumgebung/Programmiersprache. Wenn du mit deinem Werkzeug auf das Vergleichen von irgendwelchen Bytefolgen angewiesen bist, wirst du nicht gluecklich werden.

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11325
Zitat aus einem Post von Garrett
Vollkommen richtig, die Frage ist nur wie mach ich jetzt eine sinnvolle Zeicheneinschränkung, damit der User keine Aubergine eingeben kann aber sehr wohl noch seine Hatscheks oder kyrillische Schriftzeichen? Sowohl technisch als auch inhaltlich, wie grenze ich hier sinnvoll ab?

Nach diesem Property: https://de.wikipedia.org/wiki/Liste...meine_Kategorie

Garrett

Here to stay
Avatar
Registered: May 2003
Location: Wien
Posts: 1077
Zitat aus einem Post von that
Nach diesem Property: https://de.wikipedia.org/wiki/Liste...meine_Kategorie
Und wo wird dieses Property angegeben bei einem Webformular?
Hier habe ich ein Beispiel gefunden wo das mit Regex geregelt wird:
click to enlarge
Bearbeitet von Garrett am 02.04.2020, 13:58

Longbow

Here to stay
Avatar
Registered: Feb 2003
Location: Homeoffice
Posts: 5128
nachdem ich da ng directives lese, was spricht gegen einen custom validator mit

Code:
([\u0000-\u0ffd])|\s


wie colo schon sagt, einfach BMP range als allowed regex? je nach deinen sprach erfordernissen kannst halt die layers noch aufbohren
Bearbeitet von Longbow am 02.04.2020, 14:27

xtrm

social assassin
Avatar
Registered: Jul 2002
Location:
Posts: 11893
Ja genau so :). Die Frage ist halt, ob das der einzige Check ist, weil man das direkt in den Dev Tools ändern kann und tlw. dann auch abschicken kann :D.

Longbow

Here to stay
Avatar
Registered: Feb 2003
Location: Homeoffice
Posts: 5128
Zitat aus einem Post von xtrm
Ja genau so :). Die Frage ist halt, ob das der einzige Check ist, weil man das direkt in den Dev Tools ändern kann und tlw. dann auch abschicken kann :D.
Es geht ja in dem Fall nur um „einfache Möglichkeiten“, dass ned wer Apfel, Pistole, Schweinchen als Vorname eingibt. ^^

Das Backend kann ja beim POST nochmal den erlaubten Raum im Zeichensatz prüfen, damit das dann wirklich ned in der DB landet.

xtrm

social assassin
Avatar
Registered: Jul 2002
Location:
Posts: 11893
Na darum geht's sicher nicht, weil du kannst nicht generell alle "nicht Namen Wörter" aussperren. Es geht darum, dass man keine hier nicht gängigen Zeichen eingeben kann.

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 48757
Er meint die UTF Emoji mit der Bezeichnung ;)

Bei uns wird jegliche Eingabe bei der übergabe in ein anderes system von diesem nochmals validiert.
Das beginnt mit einer .js validierung bei der Eingabe um dem user einfach und möglichst genau eine Fehlermeldung geben zu können, miest einen sanitizer danach und einer entsprechenden validierung in der API.

xtrm

social assassin
Avatar
Registered: Jul 2002
Location:
Posts: 11893
Achso, haha, ok :D.

Longbow

Here to stay
Avatar
Registered: Feb 2003
Location: Homeoffice
Posts: 5128
Zitat aus einem Post von xtrm
Na darum geht's sicher nicht, weil du kannst nicht generell alle "nicht Namen Wörter" aussperren. Es geht darum, dass man keine hier nicht gängigen Zeichen eingeben kann.
Ich konnte ja keine Emojis verwenden weil die auf oc.at ned unterstützt werden! :D

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11325
Zitat aus einem Post von Garrett
Und wo wird dieses Property angegeben bei einem Webformular?

In deinem Backend, das die Daten entgegennimmt. Auf browserseitige Validierungen kannst du dich sowieso nie verlassen - siehe 1. Post von COLOSSUS.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz