scripteingaben in ein formular verhindern
karlotta
- javascript
Wie kann ich mit Javacript verhindern,
dass scripte oder urls in mein Formular eingegeben werden koennen?
Ist heute der Tag der Unfreundlichkeit?
Ist heute der Tag der Unfreundlichkeit?
sorry, da war mir was durcheinander geraten mit den fenstern.
keine boese absicht.
danke fuer die hinweise, ich schau mal, ob ich was finde
Ist heute der Tag der Unfreundlichkeit?
sorry, da war mir was durcheinander geraten mit den fenstern.
keine boese absicht.danke fuer die hinweise, ich schau mal, ob ich was finde
ich dachte eigentlich, es waere einfach, weil doch alle die ein formular anbieten, damit konfrontiert sind, dass kein < oder > eingegeben werden soll.
ich habe ein script aus selfhtml, was mir ein bestimmtes zeichen einfordert, hier das @, aber nicht eines,was mir ein zeichen ausschliesst.
if (document.bestellung.name_adresse.value.indexOf("@") == -1)
das umgekehrte geht wohl so nicht
if (document.bestellung.name_adresse.value.indexOf("<") == 1)
Hi,
ich dachte eigentlich, es waere einfach, weil doch alle die ein formular anbieten, damit konfrontiert sind, dass kein < oder > eingegeben werden soll.
jau. Die meisten, die damit konfrontiert werden, kommen allerdings darauf, dass eine Technik, die der Nutzer abschalten kann (*falls* er sie überhaupt hat), gegen dieses Problem keine Lösung darstellen kann. Außerdem wird den meisten schnell klar, dass nicht das *Eingeben* das Problem darstellt - und auch nicht das Abschicken.
Cheatah
Hi,
ich dachte eigentlich, es waere einfach, weil doch alle die ein formular anbieten, damit konfrontiert sind, dass kein < oder > eingegeben werden soll.
jau. Die meisten, die damit konfrontiert werden, kommen allerdings darauf, dass eine Technik, die der Nutzer abschalten kann (*falls* er sie überhaupt hat), gegen dieses Problem keine Lösung darstellen kann. Außerdem wird den meisten schnell klar, dass nicht das *Eingeben* das Problem darstellt - und auch nicht das Abschicken.
Cheatah
ach so. sehr hilfreich, herr schlaumeier.
gibts auch konstruktive post?
z.b. wie ich im php-script wo es ja hinlaeuft das abfangen kann?
pser eben nach wie vor im javasript?
Mahlzeit karlotta,
ach so. sehr hilfreich, herr schlaumeier.
War es, in der Tat. Wenn man sich die Mühe macht, die Thematik zu verstehen. Was hier in diesem Forum eigentlich Teilnahmevoraussetzung ist ...
gibts auch konstruktive post?
z.b. wie ich im php-script wo es ja hinlaeuft das abfangen kann?
pser eben nach wie vor im javasript?
Gab es doch schon: den Hinweis auf htmlspecialchars(). Wobei das Problem ja erst besteht, wenn Du die Eingaben, die jemand in ein Formular gemacht hat, einfach so unbehandelt wieder an den Browser zurückgibst, ohne sie entsprechend dem Kontext zu behandeln:
Bei der Ausgabe als HTMl würde ich in der Tat htmlspecialchars() empfehlen (s.o.).
Beim Eintragen in eine Datenbank wäre z.B. mysql_real_escape_string() sinnvoll.
Solange Du nichts dergleichen machst, ist es IMHO höchst fragwürdig, irgendwas an den Eingaben eines Benutzers herumzupfuschen ...
Die Frage, die Du Dir (und - falls Du weitere Hilfe möchtest - auch uns) stellen solltest, wäre also: was habe ich mit eingegebenen Daten vor?
Achja - und wie in diesem Thread bereits mehrfach erwähnt wurde, ist es absolut sinnfrei eine Validitätsüberprüfung von Benutzereingaben im Browser (und damit vom Benutzer kontrollier- und manipulierbar) durchzuführen (in diesem Fall per Javascript).
MfG,
EKKi
Die Frage, die Du Dir (und - falls Du weitere Hilfe möchtest - auch uns) stellen solltest, wäre also: was habe ich mit eingegebenen Daten vor?
Achja - und wie in diesem Thread bereits mehrfach erwähnt wurde, ist es absolut sinnfrei eine Validitätsüberprüfung von Benutzereingaben im Browser (und damit vom Benutzer kontrollier- und manipulierbar) durchzuführen (in diesem Fall per Javascript).
MfG,
EKKi
hallo ekki,
danke soweit erstmal.
ich weiss aber dennoch nicht so recht wie ich es machen soll.
ich habe ein formular, dessen eingabe als mail ueber ein php-script verschickt wird.
ich dachte, ich verhindere einfach das abschicken mit einem formularcheck in javasript. aber bei ausgeschaltetem javascript wird das wohl nicht mehr greifen.
das problem also:
das script soll garnichts versenden, wenn ein < darin vorkommt.
werde wohl eine if-abfrage um den mail-befehl basteln muessen???
Mahlzeit karlotta,
ich weiss aber dennoch nicht so recht wie ich es machen soll.
ich habe ein formular, dessen eingabe als mail ueber ein php-script verschickt wird.
Das ist der springende Hüpf dieses PHP-Skript. Dort ist eine Validitätsprüfung der Eingaben absolut notwendig.
ich dachte, ich verhindere einfach das abschicken mit einem formularcheck in javasript. aber bei ausgeschaltetem javascript wird das wohl nicht mehr greifen.
Korrekt.
das script soll garnichts versenden, wenn ein < darin vorkommt.
werde wohl eine if-abfrage um den mail-befehl basteln muessen???
So ist es. Oder Du lässt es halt zu - dann solltest Du es ggf. allerdings entsprechend maskieren (z.B. per htmlspecialchars()).
MfG,
EKKi
Hi!
ach so. sehr hilfreich, herr schlaumeier.
*g* so hat ihn schon langekeiner mehr genannt. :D
gibts auch konstruktive post?
Das ist insofern konstruktiv, dass Du jetzt weisst, wie das Problem anzufassen ist. Er wird dir keine Komplettloesung liefern.
z.b. wie ich im php-script wo es ja hinlaeuft das abfangen kann?
Dazu findest Du hier im Forum und im restlichen Internet Loesungen und Ansaetze. wenn ich nicht irre wurde htmlspecialchars auch schon genannt. Das php Manual laesst sich ueber entsprechende Befehle hinreichend aus.
Wenn Du Daten in einer DB speicherst, informier dich gleich mit ueber SQL-Injection.
pser eben nach wie vor im javasript?
Wus?
Soll das 'oder' heissen? Im Javascript, wie man die hier an verschiedenen stellen mitgeteil hat, gar nicht. JS ist denkbar ungeeignet fuer sowas.
Wie kann ich mit Javacript verhindern,
dass scripte oder urls in mein Formular eingegeben werden koennen?
Zusätzliche Frage: Ein JavaScript-Schutz ist immer clientseitig und daher aushebelbar. Hast du einen serverseitigen Schutz? Falls nein, hat der oberste Priorität, erst danach solltest du dich um clientseitige Geschichten kümmern (die sind aber optional und eher das Sahnehäubchen).
Wie kann ich mit Javacript verhindern,
dass scripte oder urls in mein Formular eingegeben werden koennen?
Zusätzliche Frage: Ein JavaScript-Schutz ist immer clientseitig und daher aushebelbar. Hast du einen serverseitigen Schutz? Falls nein, hat der oberste Priorität, erst danach solltest du dich um clientseitige Geschichten kümmern (die sind aber optional und eher das Sahnehäubchen).
nee, habe ich nicht, wie mach ich das?
Wie kann ich mit Javacript verhindern,
dass scripte oder urls in mein Formular eingegeben werden koennen?
Zusätzliche Frage: Ein JavaScript-Schutz ist immer clientseitig und daher aushebelbar. Hast du einen serverseitigen Schutz? Falls nein, hat der oberste Priorität, erst danach solltest du dich um clientseitige Geschichten kümmern (die sind aber optional und eher das Sahnehäubchen).
nein, wie kann ich das machen?
Wie kann ich mit Javacript verhindern,
dass scripte oder urls in mein Formular eingegeben werden koennen?
Zusätzliche Frage: Ein JavaScript-Schutz ist immer clientseitig und daher aushebelbar. Hast du einen serverseitigen Schutz? Falls nein, hat der oberste Priorität, erst danach solltest du dich um clientseitige Geschichten kümmern (die sind aber optional und eher das Sahnehäubchen).nein, wie kann ich das machen?
du könntest zb dafür sorgen, dass die zeichen < > " ' und & maskiert werden, wie hier im forum
somit kann keiner <script type="text/javascript" src="http://example.com/boeses_script.js"></script> einbinden - es erscheint als normaler text und ist wirkungslos
in php heisst die funktion z.B. htmlspecialchars, in vbscript/asp kommst du mit server.htmlencode weiter
Hi,
Wie kann ich mit Javacript verhindern,
dass scripte oder urls in mein Formular eingegeben werden koennen?
durch Nichtstun. In Formularfelder werden keine Scripts und auch keine URLs eingegeben, sondern Texte. Es kommt darauf an, was Du anschließend mit diesen Texten machst.
Cheatah