url-tag versagt



  • Henno schrieb:

    http://de.wikipedia.org/wiki/Überwachungsstaat

    Ja, und das sieht scheiße aus! Noch ein Umlaut und es %C3%9Cberhaupt nicht mehr klar, wor%C3%9Cber man sich %C3%9Cberhaupt unterh%C3%84lt.

    Und bring endlich den Vorschlag, dass man das auch [ url=http://de.wikipedia.org/wiki/%C3%9Cberwachungsstaat]http://de.wikipedia.org/wiki/Überwachungsstaat[/url] schreiben kann, dann haben wirs hinter uns. 🙄



  • HEZ schrieb:

    Henno schrieb:

    http://de.wikipedia.org/wiki/Überwachungsstaat

    Ja, und das sieht scheiße aus! Noch ein Umlaut und es %C3%9Cberhaupt nicht mehr klar, wor%C3%9Cber man sich %C3%9Cberhaupt unterh%C3%84lt.

    Ja so ein Pech aber auch. '&' sieht auch scheiße aus im Vergleich zu '&' und trotzdem gibt es das. 😮 😮
    Wenn der Standard festlegt, dass es so aussieht, dann ist es so. Benutze halt keine URLs mehr. 🤡

    Wo ist denn jetzt das Problem, den richtigen URL anzugeben? Du kannst den Link ja trotzdem mit einem beliebigen Text ausstatten.



  • Optimizer schrieb:

    Ja so ein Pech aber auch. '&' sieht auch scheiße aus im Vergleich zu '&' und trotzdem gibt es das. 😮 😮

    Das Argument haut mich um. Du solltest nen Browser statt nem Texteditor verwenden, um Websites anzuschauen. Du wirst sicher überrascht sein, wie das plötzlich aussieht... 👍

    Wo ist denn jetzt das Problem, den richtigen URL anzugeben? Du kannst den Link ja trotzdem mit einem beliebigen Text ausstatten.

    Naja, zumindest fast die Antwort, auf die ich so lange gewartet habe. Danke.



  • Nein, über den Weg andersherum kann man sicher reden, also dass aus:

    [u r l]http://de.wikipedia.org/wiki/Überwachungsstaat[/u r l]

    [ u r l = http://de.wikipedia.org/wiki/Überwachungsstaat]http://de.wikipedia.org/wiki/Überwachungsstaat[/ u r l]

    gemacht wird. Kann sein, dass es dafür in PHP sogar ne Funktion gibt. Aber andersherum stellt ein Problem dar.

    EDIT: Übriegens ein nettes Beispiel, was passiert, wenn man reservierte Zeichen in den URLs zulässt *g*



  • Henno schrieb:

    Sgt. Nukem: Mit deinem Vorschlag könnte man ne Menge Unsinn machen, den wir hier nicht haben wollen (z.B. beliebigen HTML Code einschmuggeln).

    Okay. Reicht es dann nicht, einfach < in URL-Tags rauszufiltern und abzufangen, ggf. noch ein CheckFor( ToLowercase( 'javascript' ) ) und das rausfiltern. Was geht dann noch?!
    Wäre zumindest immer noch ohne RegEx mit 'nem simplen Text-Vergleich getan...

    EDIT:
    Für Links ohne URL-Tag könnte man das per RegEx gefundene in der Pre-Stufe bis zum ersten Leerzeichen in [ur.l] & [/ur.l] umklammern und dann die gleichen Regeln walten lassen.

    Dann würde auch ...Überwachungsstaat funzen und ein [ur.l]www.google.de>Google</a> <iframe=XXX/> <a href=www.google.de>Google[/ur.l] wäre trotzdem nicht mehr möglich, da statt

    <a href=www.google.de>Google</a> <iframe=XXX/> <a href=www.google.de>Google</a>
    

    folgendes

    <a href=www.google.de>Google/a> iframe=XXX/> a href=www.google.de>Google</a>
    

    rauskäme... 😕



  • Mhmm, also alle <, > und " muss man ja sowieso maskieren, von daher sollte man soweit ich das im Moment überblicken kann auch nicht aus der URL ausbrechen können.

    Man kann natürlich dann noch mit javascript (nur damit? Da gibts doch bestimmt noch anderen Scheiß von Microsoft) Blödsinn anstellen. Man könnte beliebige Links einfügen, also auch auf Pfade auf der eigenen Festplatte.

    Sicher ist es möglich das ganze Wasserdicht zu machen, aber es ist nicht einfach und höchst wahrscheinlich vergisst man irgendwas.



  • Henno schrieb:

    Man kann natürlich dann noch mit javascript (nur damit? Da gibts doch bestimmt noch anderen Scheiß von Microsoft) Blödsinn anstellen.

    Ja, deswegen ja mein

    Sgt. Nukem schrieb:

    ggf. noch ein CheckFor( ToLowercase( 'javascript' ) ) und das rausfiltern.

    Ansonsten geht halt sowas wie [ur.l]java\1:window.height=10;[/ur.l]. Gibt's für VBScript auch so ein Tag?! Gut, das wär's doch dann aber auch... 😕

    Henno schrieb:

    Man könnte beliebige Links einfügen, also auch auf Pfade auf der eigenen Festplatte.

    Aber ein [ur.l]file://C:\Eigene%20Dateien\Beethoven.mp3[/ur.l] ist jawohl nicht problematisch. Das kann man doch lassen...



  • Oder noch viel einfacher:

    Man schaut einfach nach null oder einem : -- bei mehr cancelt man. Falls ein : -> wird davor nach ftp und http und danach nach // untersucht. Alles andere wird gecancelt, maskiert, whatever. 💡
    Generell ist in so einem Sicherheitsfall eine Whitelist wohl besser als eine Blacklist.



  • Am besten man lässt nur http und vlt. noch ftp zu, der Rest wird dann gemäß dieser Regeln maskiert. Ich seh' da eigentlich keine Sicherheitsrisiken.



  • https fehlt noch und : werden bei Wikipedia auch in der URL benutzt (glaub aber unerlaubter weise).

    Wenn man dann die URL seperat betrachtet oder nur die Eingabe einer URL hätte, dann gäbe es sicherlich keine weiteren Probleme. Aber hier geht es um die Einbettung in Text. Was passiert, wenn jemand das Close Tag vergisst? Wird dann alles bis zur nächsten URL zur URL? Was ist, wenn da irgendwo andere Tags drin sind?

    Ich behaupte nicht, dass es nicht geht, aber so einfach, wie ihr euch das hier an den isolierten Beispielen denkt, ist es nicht. Und das ganze muss ja auch jemand programmieren... du?


Anmelden zum Antworten