如何在文本框中添加<script> alert('test'); </script>?

时间:2013-06-12 09:45:46

标签: javascript node.js

这是一个奇怪的要求!

我想在输入类型文本中<script>alert('test');</script>,但它不应该执行alert()

我只需要设置文字<script>alert('test');</script> 我正在使用 nwt框架 ......这也是可以在JS中使用的吗?

谢谢,
Md Waseem

5 个答案:

答案 0 :(得分:2)

  

。我经常这样做element.value="<script>alert('test');</script>"

如果您正在生成内联<script>元素,那么</script>将结束HTML元素并导致脚本在字符串中间终止。

转义/,以便HTML解析器不将其视为结束标记:

element.value = "<script>alert('test');<\/script>"

答案 1 :(得分:-1)

  

我想提醒('测试');在输入类型文本中但不应执行警报(警报提示)。

<input type="text" value="<script>alert('test');</script>" />

制作:

enter image description here

您可以通过JavaScript以编程方式执行此操作。首先获取对input元素的引用,然后设置value属性。

var inputElement = document.querySelector("input");
inputElement.value = "<script>alert('test');<\/script>";

答案 2 :(得分:-1)

你想在输入元素上修复XSS吗? 你可以在输出到输入字段之前编码字符串

PHP:

$str = htmlentities($str);

C#:

str = WebUtility.HtmlEncode(str);

之后输出值直接输入到输入字段:

<input type="text" value="<?php echo $str" />

答案 3 :(得分:-1)

好的回答这个问题。我只是将<>转换为&lt;&gt;。之前发生的事情是我用来设置文字<script>alert('1')</script>但是在输入文本浏览器中设置文本之前,将&lt;&gt;转换为<> 。因此,将它们再次转换为&lt;&gt;,因为浏览器只会识别并转换它们,而不是执行<input type="text" />内的脚本

答案 4 :(得分:-3)

JQuery版本:

$('yourInputSelectorHere').val("<script>alert('test');<\/script>")