anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Sonderzeichen in Namen beim charerstellen https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=3991 |
Seite 1 von 1 |
Autor: | Rikkarda [ Fr 14 Sep, 2007 17:05 ] |
Betreff des Beitrags: | Sonderzeichen in Namen beim charerstellen |
Erstmal ein riesen Danke an Eliwood für die Geduld mit mir sämtliche Arten durchzutesten ![]() Worum geht es? Create.php $this->bbcode_second_pass_code('', 'if(getsetting("spaceinname",0) == 0) { $shortname = preg_replace("([^[:alpha:]_-])","",$HTTP_POST_VARS[name]); } else { $shortname = preg_replace("([^[:alpha:] _-])","",$HTTP_POST_VARS[name]); }') diese Codestück "sollte" normalerweise wegen dem :alpha: Befehl nur alphabetisches durchlassen.. bei einigen Systemen lässt er auch Problemlos dennoch Umlaute durch und Sonderzeichen oder Zahlen, bei anderen entfernt er sie.. Bei mir hat er zb. Zahlen und §$% usw. alle drin gelassen aber aus einem Piérre wurde ein Pirre.. d.h. in meinem System hat er jedes Zeichen, was "standart" auf einer de Tastaturbelegung ist durchgelassen, und jedes nicht deutsche Zeichen wie é gefiltert. Das empfand ich als sehr lästig und störend, daher wollte ich lieber eine Möglichkeit, dass vernünftig gefiltert wird. Natürlich ist das unten stehende Codestück nicht vollständig, da jeder Server letztendlich selber entscheiden muss, welche Sonderzeichen er gefiltert haben möchte und welche nicht. Ich habe mich vorerst dazu entschlossen nur die gängigen auf der Tastatur befindlichen zu filtern und nicht die per Linux oder ascii erzeugbaren.. daher ggf. erweitern $this->bbcode_second_pass_code('', 'if(getsetting("spaceinname",0) == 0) { $shortname = preg_replace("/([0-9".preg_quote("!?\"§\$%&/()=\'#\}][{²³€@,._:;*+®©™<>|^~´`°³²", "/")."])/","",$HTTP_POST_VARS[name]); } else { $shortname = preg_replace("/([0-9".preg_quote("!?\"§\$%&/()=\'#\}][{²³€@,._:;*+®©™<>|^~`´°³²", "/")."])/","",$HTTP_POST_VARS[name]); }') ist dabei herausgekommen. Jetzt werden in Silienta beim Charerstellen Zahlen und die in der () vorhandenen Sonderzeichen direkt gefiltert und ein Piérre bleibt dennoch ein Piérre ![]() thx nochmal an Eliwood auf dessen Bitte ich das hier auch veröffentliche ![]() lg Rikkarda |
Autor: | Welv [ Sa 15 Sep, 2007 17:02 ] |
Betreff des Beitrags: | |
die tastatur kann gut 250 zeichen ausspucken, vielleicht sogar viel mehr. ist es da nicht sinnvoller bestimmte zeichen zu erlauben, anstattbestimtme zu verbieten? |
Autor: | Rikkarda [ Sa 15 Sep, 2007 17:23 ] |
Betreff des Beitrags: | |
Welv hat geschrieben: die tastatur kann gut 250 zeichen ausspucken, vielleicht sogar viel mehr. ist es da nicht sinnvoller bestimmte zeichen zu erlauben, anstattbestimtme zu verbieten?
im Grunde sicher, aber mein Beispiel zeigte ja auf dass vorher durchaus nur a-z und A-Z und _ und - erlaubt sein sollten und das nicht ging ![]() |
Autor: | Welv [ So 16 Sep, 2007 10:16 ] |
Betreff des Beitrags: | |
vielleicht liegts am :ALPHA:, wer weiß was alles als Buchstabe interpretiert wird ^^ geht doch auch A-Za-z und ein "-" gehört doch vorher escapet, also \- damits funzt. "([^A-Za-z])" wenn mich nicht alles täuscht, sollte dies nur Buchstaben zulassen und wenn man mehr will, ist es sinnvoller sowas zu erweitern. "([^A-Za-zöäüàèìòùâêîôûáéíóú])" |
Autor: | Eliwood [ So 16 Sep, 2007 12:51 ] |
Betreff des Beitrags: | |
Welv hat geschrieben: vielleicht liegts am :ALPHA:, wer weiß was alles als Buchstabe interpretiert wird ^^ geht doch auch A-Za-z und ein "-" gehört doch vorher escapet, also \- damits funzt.
"([^A-Za-z])" wenn mich nicht alles täuscht, sollte dies nur Buchstaben zulassen und wenn man mehr will, ist es sinnvoller sowas zu erweitern. "([^A-Za-zöäüàèìòùâêîôûáéíóú])" Es gibt mehr Buchstaben als sonstige Zeichen. Warum also eine Whiteliste, wenn die Blackliste kürzer sein wird? |
Autor: | Welv [ So 16 Sep, 2007 16:23 ] |
Betreff des Beitrags: | |
vorausgesetzt es werden keine japanischen, türkischen,kyrillische,... schriftzeichen gebraucht? [^A-Za-zöäüàèìòùâêîôûáéíóú] deckt wohl schon so ziemlich alles ab was man normalerweise braucht, oder nicht? |
Autor: | Eliwood [ So 16 Sep, 2007 17:52 ] |
Betreff des Beitrags: | |
Welv hat geschrieben: vorausgesetzt es werden keine japanischen, türkischen,kyrillische,... schriftzeichen gebraucht?
[^A-Za-zöäüàèìòùâêîôûáéíóú] deckt wohl schon so ziemlich alles ab was man normalerweise braucht, oder nicht? Es gibt bei weitem mehr lateinische Schriftzeichen, als du dir vorstellen kannst. ñ, ë, ø, ŋ, ç um nur 5 zu nennen. |
Autor: | Welv [ So 16 Sep, 2007 19:53 ] |
Betreff des Beitrags: | |
wenn sich jemand mit Ω∫∑õÿ¢†£ anmeldet, kommt der bei mir ned aus dem lager ^^ |
Autor: | Eliwood [ So 16 Sep, 2007 19:58 ] |
Betreff des Beitrags: | |
Welv hat geschrieben: wenn sich jemand mit Ω∫∑õÿ¢†£ anmeldet, kommt der bei mir ned aus dem lager ^^
Der Namen muss schon Sinn ergeben. Oo Þor, um nur ein Beispiel zu nennen - andere Schreibweise von Thor. Noëmi, Šošůvka. |
Autor: | Nightborn [ So 16 Sep, 2007 23:23 ] |
Betreff des Beitrags: | |
Um mich einzuhaken: Logins in nicht-latin-1 hab ich bisher ausgeschlossen... und umgehe das ganze nachher in dem ich den Namen ingame komplett woanders zusammenbaue... Da bei mir ja japanische Zeichen keine Seltenheit sind, ist UTF-8 standard. |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |