【问题标题】:angularjs Check input field to prevent submission of SQL injection-like strings [duplicate]angularjs检查输入字段以防止提交类似SQL注入的字符串[重复]
【发布时间】:2016-04-22 08:52:38
【问题描述】:

我在 AngularJS 中有一个输入字段,我想对类似 SQL 注入的字符串进行提交检查。基本上,我不希望 SQL 注入字符串通过验证检查。完成这项工作的最佳方法是什么?

这是 HTML 部分:

<rb-input-text ng-model="textareaText" name="text" placeholder="" rb-change="" type="" maxlines="3" minlength="1" maxlength="1000">
</rb-input-text>

它在页面上的外观:

【问题讨论】:

标签: angularjs


【解决方案1】:

您可以使用ng-pattern 定义与您的数据匹配的模式。

但是不要考虑使用它来防止 SQL 注入。 SQL 注入是后端问题。如果您的数据可能包含 ' # 之类的问题字符,则无需在前端禁止它们。您必须在后端处理它们。所有用于与数据库通信的工具都提供了防止 SQL 注入的功能。使用这些工具,绝对不要做以下事情:

Select * from toto where name='+userInput+'.

您使用的每个工具都为您提供了一些东西来重写您的查询,如下所示:

Select * from toto where name=? and lastname=?

或者这个

Select * from toto where name=:name and lastname=:lastname

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 2012-08-07
    • 2017-11-22
    • 2011-01-03
    相关资源
    最近更新 更多