JavaScript-Code verhindern

cameeel

Erfahrenes Mitglied
Hi all.

Nach einiger Zeit gibt es mal wieder ein Problem, und zwar versuche ich, JavaScript Code aus einem String der über ein Formular eingegeben wurde, herrauszufiltern, d.h. zu löschen.
Allerdings weis ich nicht so recht wie ich das machen soll. Ich könnte natürlich mit str_replace() nach "<script language="...">" suchen aber es gibt ja zick möglichkeiten:
<script language="...">
< script language="..." >
< script language="...">
und noch viele mehr. Groß- und Kleinschreibung kann man natürlich mit str_ireplace() umgehen aber das mit den leerzeichen usw.?

Hat jemand eine Idee wie man das machen könnte?

Danke,
cAm3eel.
 
Matthias Reitinger hat gesagt.:
Willst du nur die Interpretation von script-Tags verhindern oder generell alle HTML-Tags?
Nur script-Tags. Sonst wäre das Problem mit htmlentities() oder striptags() ja gleich gelöst ;)

cAm3eel.
 
Und falls du nur die Tags, nicht aber den dazwischen liegenden Inhalt entfernen willst:
PHP:
$string = preg_replace('#<\s*/?\s*script[^>]*>#i', '', $string);
 
Danke euch beiden, funktioniert super!

@ Matthias: Du kannst Gedanken lesen - genau das wäre das nächste Problem auf Gumbos Antwort hin gewesen ^^

Habt ihr diese Suchlogarithmen eigentlich irgendwo aus dem Internet oder selbst geschrieben?

Danke,
cAm3eel.
 
Zurück