gewusst wie: hinzufügen <script>alert('test');</script> in einem Textfeld?
Diese seltsame Forderung!
Möchte ich <script>alert('test');</script>
in ein input-type-text-aber es sollte nicht führen Sie die alert()
.
Brauche ich nur, um den text <script>alert('test');</script>
.
Bin mit nwt Rahmen... Und auch das tun-können in JS?
Dank,
Md Waseem
- Definieren Sie "text box". Meinst du ein
<input type="text">
? Wie gehen Sie in der Regel den Wert eines solchen? Welches problem haben Sie mit den von Ihnen gewünschten Wert setzen? - ja, quentin! seinen input type="text". Ich in der Regel tun Sie es element.value="<script>alert('test');</script>". So bsically ich habe ein XSS-Problem, bei dem, wenn ein Benutzer eingibt <script>alert('test');</script> . Für diese Tue zu entkommen und dabei eine unescape im input type="text" aber dass scheint zu sein, die Ausführung der Warnung
- bitte posten Sie Ihre HTML - /JS, um hier, es ist schwer zu verstehen, was dein problem ist
- "So bsically ich habe ein XSS-Problem, bei dem, wenn ein Benutzer
<script>alert('test');</script>
", Wenn der code, den der Benutzer eingibt, wird nur ausgeführt, im browser, keine Sorge, das ist nicht ein XSS-Problem. Ein Benutzer kann einfach die Konsole öffnen und ausführen von beliebigen code, den Sie möchten. "Für diese Tue zu entkommen und dabei eine unescape [...] aber dass scheint zu sein, die Ausführung der Warnung" Es scheint, Sie sind bewerten Sie den code, die Sie nicht tun sollten. Da Sie nicht veröffentlichen Sie Ihren code, können wir Ihnen helfen, in dieser Hinsicht aber. - Nicht so. Ein user besuchen konnten, eine (schädliche) Drittanbieter-Website, die verursacht den browser, um ein Formular Absenden zu der betroffenen Website.
- Stimmt... lass es mich anders formulieren. Ich entfernte das Teil und betonte, was ich eigentlich sagen wollte.
- wollen Sie beheben XSS-Problem auf input Feld?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie klingt wie Sie generieren einer inline -
<script>
element, in welchem Fall die</script>
wird am Ende des HTML-Elements, und führen das Skript zu beenden, in der Mitte der Zeichenfolge.Entkommen
/
so, dass es nicht behandelt, als ein end-tag, die vom HTML-parser:searchfieldvalue="<script>alert('test');</script>"; searchtextfilter._node.value=searchfieldvalue.replace(/<\/script>/,'<\/script>');
Quetine ist das richtig ?'<\\/script>'
(und das meint Sie bei der Generierung von client-side code wie beschrieben in die Antwort, wenn Sie nicht sind, und alle JS ausgeführt wird server-Seite, dann kann dies nicht das problem sein ... und Sie müssen sich auf den generierten HTML-source-code und dann eine Frage stellen über das, was HTML, die Sie benötigen (mit der HTML, die Sie jetzt haben und nicht mit den server-side JS) oder, wie zu generieren der HTML, die Sie möchten (mit der HTML, die Sie haben, die HTML Sie möchten und genug von der server-side JS, das problem zu reproduzieren).searchtextfilter._node.value=searchfieldvalue.replace(/<\/script>/,'<\\/script>');
?? Bitte überprüfen Sie mit dieser regexProduziert:
Können Sie dies tun, programmatisch per JavaScript. Zunächst benötigen Sie eine Referenz auf das input-element, dann legen Sie die
value
Attribut.du willst XSS-fix auf input-element?
Kodieren Sie Strings vor der Ausgabe zur Eingabe Feld
PHP:
C#:
nach, die Ausgabe Wert direkt zum Eingabefeld:
Ok, diese zu beantworten . Ich habe einfach konvertiert meine
<
und die>
zu<
und>
. Was war zuvor passiert ist, ich verwendet, um den text<script>alert('1')</script>
aber bevor Sie den text in das input-text-browserconverts<
und>
als<
und die>
. Deswegen konvertieren Sie Sie erneut, um<
und>
da browser wird verstehen, dass nur tags und wandelt Sie , als Sie das Skript innerhalb<input type="text" />
JQuery version:
javascript
tag Beschreibung: "Eine Reine JavaScript-Antwort ist in der Regel erwartet, außer, wenn Sie ein tag für ein framework oder eine Bibliothek ist auch vorhanden.". Es gibt sicherlich Situationen, in denen darauf hindeutet, jQuery verwenden, ist akzeptabel, aber jQuery ist wirklich nicht nötig hier.