Url rewriting

28/08/2008 - 22:03 von Matthias Pieroth | Report spam
Hallo NG,

ich nutze Url-Rewriting für User-generated content und bin auf ein Problem
gestoßen: Wenn ein Benutzer einen Titel eingibt mit Zeichen die in der Url
nichtaufgelöst werden können, kann die url nicht geladen werden, das ist
klar. Also ersetze ich die Zeichen, die nicht in die url gehören sollen.

Es kommt aber vor, dass Benutzer Zeichen aus Word oder anderen Programmen
übernehmen, für die ich den Asci-Code nicht kenne, wie z.B. das
Minus-Zeichen von Word. Wie kann ich den Ascii-Code herausfinden bzw. welche
sonstigen Möglichkeiten gibt es noch, die Zeichen zu filtern?

Danke und Gruß

Matthias
 

Lesen sie die antworten

#1 Gerold Mittelstädt
28/08/2008 - 23:17 | Warnen spam
Hallo Matthias,

Matthias Pieroth schrieb:
ich nutze Url-Rewriting für User-generated content und bin auf ein
Problem gestoßen: Wenn ein Benutzer einen Titel eingibt mit Zeichen
die in der Url nichtaufgelöst werden können, kann die url nicht
geladen werden, das ist klar. Also ersetze ich die Zeichen, die nicht
in die url gehören sollen.



Wie?

Es kommt aber vor, dass Benutzer Zeichen aus Word oder anderen
Programmen übernehmen, für die ich den Asci-Code nicht kenne, wie
z.B. das Minus-Zeichen von Word. Wie kann ich den Ascii-Code
herausfinden



ASCII umfasst genau 128 Zeichen, von denen 95 druckbar und 33 nicht
druckbar sind. Bin ich ja mal gespannt, wie Du '黃' (Huang) damit
darstellen willst ;)
HttpUtility.UrlEncode() wàre eine Möglichkeit, aber dann kommt im obigen
Beispiel sowas schönes raus: "%e9%bb%83" - was im URL ja auch nicht
besonders schön aussieht.. :)

bzw. welche sonstigen Möglichkeiten gibt es noch, die Zeichen zu
filtern?



Nein im ernst: Die einzig sinnvolle Möglichkeit ist hier, die Eingabe
vorab mit RegEx zu prüfen, und z.B. nur [a-zA-Z0-9 ] zuzulassen. Damit
entsteht das Problem garnicht erst.

Viele Grüße!

Ähnliche fragen