Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 您是否可以在HTML文本区域/文本字段中创建一个脚本并执行它?_Javascript_Html_Scripting_Textarea_Textfield - Fatal编程技术网

Javascript 您是否可以在HTML文本区域/文本字段中创建一个脚本并执行它?

Javascript 您是否可以在HTML文本区域/文本字段中创建一个脚本并执行它?,javascript,html,scripting,textarea,textfield,Javascript,Html,Scripting,Textarea,Textfield,有人提出了一个论点,即拥有一个接受太多字符的textarea可能有风险,因为人们可能会将脚本放在其中 在我的一生中,我从未听说过这种可能性。 有没有人能解释一下,在文本表单字段中是否可以有一个脚本并以某种方式执行它?是的-XSS就是这样工作的。非常简单-您可以将脚本内容添加到dom并以这种方式执行它。例如,这将触发警报: $('#myDiv').html('<script type="text/javascript">alert("hello world");</script&

有人提出了一个论点,即拥有一个接受太多字符的textarea可能有风险,因为人们可能会将脚本放在其中

在我的一生中,我从未听说过这种可能性。
有没有人能解释一下,在文本表单字段中是否可以有一个脚本并以某种方式执行它?

是的-XSS就是这样工作的。非常简单-您可以将脚本内容添加到dom并以这种方式执行它。例如,这将触发警报:

$('#myDiv').html('<script type="text/javascript">alert("hello world");</script>');
$('myDiv').html('alert(“hello world”);

是-这就是XSS的工作方式。非常简单-您可以将脚本内容添加到dom并以这种方式执行它。例如,这将触发警报:

$('#myDiv').html('<script type="text/javascript">alert("hello world");</script>');
$('myDiv').html('alert(“hello world”);

任何时候处理使用输入时,都有XSS漏洞的风险

假设您有这样一个简单的HTML表单:

<form action="submit.php" method="post">
<textarea name="insecuretext"></textarea>
</form>
<div class="usercontent">
<?php echo $_POST["insecuretext"]; ?>
</div>
<div class="usercontent">
<script>somethingEvil();</script>
</div>
<div class="forum_post" data-content="foo&quot; onload=&quot;somethingEvil();&quot;&gt; &lt;!-- "></div>
现在,除非您的攻击者非常聪明,否则在这种情况下您不会受到XSS的攻击

另一种常见情况是将不安全的内容作为元素的属性。不久前,我在一个论坛上看到了这样一个例子,开发者出于某种原因将帖子的内容放在
数据内容
属性中

<div class="forum_post" data-content="<?php echo $_POST["insecuretext"]; ?>"></div>

任何时候处理使用输入时,都有XSS漏洞的风险

假设您有这样一个简单的HTML表单:

<form action="submit.php" method="post">
<textarea name="insecuretext"></textarea>
</form>
<div class="usercontent">
<?php echo $_POST["insecuretext"]; ?>
</div>
<div class="usercontent">
<script>somethingEvil();</script>
</div>
<div class="forum_post" data-content="foo&quot; onload=&quot;somethingEvil();&quot;&gt; &lt;!-- "></div>
现在,除非您的攻击者非常聪明,否则在这种情况下您不会受到XSS的攻击

另一种常见情况是将不安全的内容作为元素的属性。不久前,我在一个论坛上看到了这样一个例子,开发者出于某种原因将帖子的内容放在
数据内容
属性中

<div class="forum_post" data-content="<?php echo $_POST["insecuretext"]; ?>"></div>

如果您接受文本输入,您很容易受到XSS攻击,但设置文本的长度限制根本无法修复此漏洞。如果您允许用户输入HTML,比如说CMS,那么是的,这可能很危险。@Karl AndréGagnon您能详细说明它有多危险吗?假设我有一个表单字段,“Description”文本字段恰好非常长!在表单字段中输入的“脚本”用户怎么可能对我的系统有任何危险?我将在回答中为您提供一些示例,等等on@abcXYZ-这一切都取决于攻击者利用您的站点进行攻击的能力。在某些情况下,这可能非常危险。在其他情况下,情况并非如此。如果你接受文本输入,你很容易受到XSS的攻击,但设置文本的长度限制根本无法修复该漏洞。好吧,如果你允许用户为CMS输入HTML,那么是的,这可能是危险的。@Karl AndréGagnon你能详细说明它有多危险吗?假设我有一个表单字段,“Description”文本字段恰好非常长!在表单字段中输入的“脚本”用户怎么可能对我的系统有任何危险?我将在回答中为您提供一些示例,等等on@abcXYZ-这一切都取决于攻击者利用您的站点进行攻击的能力。在某些情况下,这可能非常危险。在其他情况下,没有那么多。那么,这并不像我预期的那样是一个大问题我们总是正确地从表单帖子中转义html内容。谢谢你的例子,顺便说一句!那么,这并不像我预料的那样是个大问题我们总是正确地从表单帖子中转义html内容。谢谢你的例子,顺便说一句!