Zeicheneinschränkung (UTF-8) bei Webapplikationen
Garrett 26.03.2020 - 15:30 7652 27
daisho
VereinsmitgliedSHODAN
|
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
|
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
AdministratorGNUltra
|
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
Hoffnungsloser Optimist
|
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
|
Bearbeitet von Garrett am 02.04.2020, 13:58
|
Longbow
Here to stay
|
nachdem ich da ng directives lese, was spricht gegen einen custom validator mit ([\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
|
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  .
|
Longbow
Here to stay
|
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 . 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
|
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
ElderEr ist tot, Jim!
|
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
|
Achso, haha, ok  .
|
Longbow
Here to stay
|
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!
|
that
Hoffnungsloser Optimist
|
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.
|