Schrift
[thread]10464[/thread]

In einem Text JavaScript finden...!??



<< >> 8 Einträge, 1 Seite
olruebe01
 2007-09-25 18:32
#99976 #99976
User since
2006-01-19
192 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich suche eine Möglichkeit, in einem vom User angegebenen Text nach JavaScript zu suchen.

Also der User kann einen (HTML-)Text in ein Textarea schreiben und das Formular absenden. Das Perl-Script soll dann Alarm schlagen, wenn der User irgendwelche JavaScript-Befehle verwendet hat.

Nun könnte ich den Text nach allen JavaScript-Funktionen durchforsten aber da ist mir doch die Gefahr zu groß, dass ich da was übersehe und ohnehin erscheint diese Lösung etwas unsauber...

Gibt es eine Möglichkeit, nach jeglicher Art von JavaScript zu suchen? Also sowohl das Tag "<Script language..." als auch "onmouseover", "onclick" und was es da nicht noch alles gbt, soll zu einem Alarm führen, wenn es in dem Text enthalten ist.

Gibt es hierfür einen Befehl oder ein Modul?

Oder denke ich einfach zu kompliziert?

Danke und Gruß,
Oliver
renee
 2007-09-25 18:35
#99977 #99977
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Warum verwendest Du keine BBCodes und machst dann ein HTML::Encode ueber den Text??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
olruebe01
 2007-09-25 18:40
#99979 #99979
User since
2006-01-19
192 Artikel
BenutzerIn
[default_avatar]
Hi Renee,

das Formularfeld ist u.a. dazu da, HTML aus anderen Programmen zu "importieren". Der User kann also z.B. aus einem WYSIWYG-Editor den HTML-Code nehmen und hier einfügen. So soll es sein. Allerdings soll der User kein JavaScript einfügen dürfen...

Im Grunde sowas wie der JavaScript-Filter bei eBay...
murphy
 2007-09-25 20:38
#99983 #99983
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Die einzige halbwegs sichere Lösung für dieses Problem dürfte sein, den HTML-Code komplett zu parsen, alle Event-Attribute, Skript-Tags und Referenzen zu unbekannten URI-Schemata zu entfernen und dann das Dokumentmodell neu zu HTML zu serialisieren.

Um auch mit weniger standardkonformem HTML-Code klarzukommen, würde ich allerdings versuchen, dafür den HTML-Parser und die DOM-Implementation eines verbreiteten Browsers zu verwenden. Die Mozilla-Bilbliotheken müsste man z.B. über CPAN:Mozilla::DOM ansteuern können.
When C++ is your hammer, every problem looks like your thumb.
Struppi
 2007-09-26 10:54
#99999 #99999
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
na, einfach alles was zwischen <script ..> und </script> steht ausfiltern (das language Attribute ist übrigens seit 1998 mißbilligt, in einem Skript Tag muss nur das type Attribut definiert werden) und alle on... attribute rausschmeissen sollte reichen.

Evtl. kannst du dir noch um iframes Gedanken machen, je nach dem was mit den Daten passieren soll.
pq
 2007-09-26 11:39
#100001 #100001
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
Struppi+2007-09-26 08:54:01--
na, einfach alles was zwischen <script ..> und </script> steht ausfiltern (das language Attribute ist übrigens seit 1998 mißbilligt, in einem Skript Tag muss nur das type Attribut definiert werden) und alle on... attribute rausschmeissen sollte reichen.

sicher? was ist mit <a href="javascript:foo()">
was ist mit CSS? irgendwas vergisst man immer.

wenn ich die möglichkeit hätte, würde ich sowas mit dem whitelist-prinzip machen.
also sagen, was explizit erlaubt ist. d.h. einfache <b> tags, <table> etc, aber halt
keine attribute oder nur wenige. somit kann man dieses minimale HTML prima parsen
und den rest einfach rauswerfen/escapen.
sowas hätte auch ebay machen sollen...
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Struppi
 2007-09-26 12:12
#100002 #100002
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
joh, du hast recht.
olruebe01
 2007-09-26 16:41
#100009 #100009
User since
2006-01-19
192 Artikel
BenutzerIn
[default_avatar]
Ok, Danke.

Ich fasse mal zusammen: Es gibt hierfür keine schöne Lösung und ich muss das Problem zu Fuß angehen...

Trotzdem vielen Dank!!!
<< >> 8 Einträge, 1 Seite



View all threads created 2007-09-25 18:32.