Javascript jQuery前置安全性
这里有一个菜鸟问题,如果我有一个文本区域没有提交任何地方Javascript jQuery前置安全性,javascript,jquery,security,xss,csrf,Javascript,Jquery,Security,Xss,Csrf,这里有一个菜鸟问题,如果我有一个文本区域没有提交任何地方 <form onsubmit="return false;"> <textarea name="new_title_text" id="new_title_text"></textarea> </form> 我使用jQuery将textarea的值预先添加到div var textValue = $('#new_title_text').val() $('#myDiv'
<form onsubmit="return false;">
<textarea name="new_title_text" id="new_title_text"></textarea>
</form>
我使用jQuery将textarea的值预先添加到div
var textValue = $('#new_title_text').val()
$('#myDiv').prepend('<div>' + textValue + '</div>');
var textValue=$('new#title_text').val()
$('#myDiv')。前置(''+textValue+'');
这有任何安全漏洞吗?有人能以某种方式注入JavaScript和预成型XSS、CSRF或任何其他类型的攻击吗?我知道,一旦我将值提交到服务器,就需要对其进行检查,但在提交之前是否会发生任何情况
提前感谢 基本上,您不能信任客户端完成的任何验证,因为人们可以(非常容易)绕过JavaScript验证 在服务器上进行适当的验证和清洁,将客户端验证留给用户体验,不要用明显无效的数据“打扰”服务器,例如需要值的空字段
除非您允许用户提交一些PHP代码或JavaSctipt代码,以便在您的站点上的其他位置执行,否则您应该是安全的。始终记住不要相信来自用户的任何数据。将所有传入的数据视为潜在威胁,如果您打算以后使用它,请对您处理的任何数据进行清理。基本上,您不能信任客户端完成的任何验证,因为人们可以(非常容易)绕过JavaScript验证 在服务器上进行适当的验证和清洁,将客户端验证留给用户体验,不要用明显无效的数据“打扰”服务器,例如需要值的空字段
除非您允许用户提交一些PHP代码或JavaSctipt代码,以便在您的站点上的其他位置执行,否则您应该是安全的。始终记住不要相信来自用户的任何数据。将所有传入的数据视为潜在威胁,如果以后打算使用它,请对处理的任何数据进行清理。基本思想是,对不受信任的数据使用prepend是不安全的。然而,可利用性确实取决于场景。如果攻击者能够创建一个url,使脚本以不受信任的值运行,那么肯定存在XSS问题。但是,如果用户只能通过输入不安全的数据并单击按钮来触发此操作,则更安全,但不完全安全。这通常被称为self-xss,有时与点击劫持等一起被利用
有关不安全jquery函数的更多信息,请参见:基本思想是,对不受信任的数据使用prepend是不安全的。然而,可利用性确实取决于场景。如果攻击者能够创建一个url,使脚本以不受信任的值运行,那么肯定存在XSS问题。但是,如果用户只能通过输入不安全的数据并单击按钮来触发此操作,则更安全,但不完全安全。这通常被称为self-xss,有时与点击劫持等一起被利用 有关不安全jquery函数的更多信息,请参阅: 有人能以某种方式注入JavaScript和preform XSS、CSRF或任何其他类型的攻击吗 对。您正在向HTML字符串中注入文本而不进行HTML转义,因此该字符串中的任何元字符(
有人能以某种方式注入JavaScript和preform XSS、CSRF或任何其他类型的攻击吗
是的。您正在向HTML字符串中注入文本而不进行HTML转义,因此该字符串中的任何元字符(
$('#myDiv').prepend(
$('<div>', {text: $('#new_title_text').val()})
);