Hi,
Um zu verhindern, dass z.B. Skripte eingegeben werden, wird ein Feld über HTML5 validiert:
input type="text" name="suche" required pattern="[A-z0-9]{1,15}"
Eingaben mit im Pattern nicht enthaltenen Zeichen werden dann abgewiesen. Allerdings nur einmal! Wenn man die Eingabe löscht und die eigentlich unzulässige Eingabe noch einmal wiederholt, wird sie akzeptiert! Lädt man die Seite neu, wird sie wieder abgewiesen. Browser: Firefox 79.0 Was ist da falsch?
Wo der Fehler in deinem Programmkonstrukt steckt, kann man ohne nähere Kenntnis dessen nicht beantworten.
Wo aber der Fehler in der Planung steckt, kann man ahnen. Die Kontrolle muss unbedingt beim DMS (Data modification System) stattfinden, also üblicherweise nicht durch den Client, sondern durch den Server.
Wird dort z.B. PHP eingesetzt, bietet sich für derartige Überwachungen der DOM-Parser an. Mit dessen Hilfe kann man übermittelte Text-/Fileuploads sehr fein gestaffelt auf erlaubte/verbotene Skriptanteile untersuchen.
Sind überhaupt keine HTML-/Skriptanteile erlaubt, hilft oft auch schon ein strip_tags().
LG
localhorst