【问题标题】:The way to check the javascript injections检查javascript注入的方法
【发布时间】:2009-07-09 11:03:06
【问题描述】:

是否足以避免 javascript 注入以这种方式验证输入数据:

xssValidate = function(value) {
    var container = $("<u></u>").text(value);
    if($(container).html() != value) return mc.ERROR_INVALID_FORMAT;
}

在将它们提交到服务器之前,我已经成功地使用上面的代码验证了所有文本字段和 textareas 值。

【问题讨论】:

    标签: javascript jquery xss


    【解决方案1】:

    我认为这对您的用户来说会很烦人...如果我想输入“this & that”或“11 > 7”怎么办?

    你真正应该做的是在输出时转义它。

    此外,我希望您在服务器端和客户端都进行验证。

    【讨论】:

    • 我还想补充一点,正确的做事方式是接受用户在文本框中输入的任何内容,以相同的形式使用它,并仅将其编码为最后一个在实际将其呈现为 HTML 之前执行步骤。此外,如果您不使用参数化查询(就像您应该使用的那样!),您必须先转义字符串,然后再将其连接到查询中以避免 SQL 注入。
    • 我完全同意所有这些限制都会惹恼用户,并且没有“灵丹妙药”。在我的特殊情况下,我决定通过 < 来限制用户的输入。符号,对于我的应用程序的用户来说应该不会太不舒服。
    猜你喜欢
    • 1970-01-01
    • 2011-09-04
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多