У меня есть поле ввода в 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>
Как это выглядит на странице:
Вы можете использовать ng-pattern
для определения шаблона, соответствующего вашим данным.
Однако не рекомендуется использовать это для предотвращения SQL-инъекций. SQL Injection - это вопрос бэкэнд. Если ваши данные могут содержать символ проблематики, например '
#
вам не нужно запрещать их на интерфейсе. Вы ДОЛЖНЫ продолжить их в бэкэнд. Все инструменты, используемые для связи с базой данных, предоставляют функции, предотвращающие SQL Injection. Используйте эти инструменты и никогда, никогда не делайте следующее:
Select * from toto where name='+userInput+'.
Каждый инструмент, который вы используете, дает вам что-то, чтобы переписать запрос следующим образом:
Select * from toto where name=? and lastname=?
Или это
Select * from toto where name=:name and lastname=:lastname