Member 13638766 Ответов: 2

Как решить проблему вставки данных избегая этой ошибки


у меня есть одна таблица имя столбца имя пользователя и электронная почта вставить таблицу

asp.net веб-приложение, использующее предположим, что любой из них дает этот тип ввода throw run time error how to solve

имя пользователя : len'
электронная почта : lenin@gmail.com

имя пользователя (') выдает ошибку

что я могу сделать

Что я уже пробовал:

я даю валидацию только получая только символы но мне нужно больше представления об этой проблеме

Karthik_Mahalingam

опубликуйте код того, что вы пробовали.
Воспользуйся Улучшить вопрос чтобы отредактировать вопрос.

F-ES Sitecore

Я не понимаю вопроса, но предполагаю, что вы используете конкатенацию строк для создания своего sql

строка sql = "вставить в таблицу значения ('" + Textbox1.Text + "')"

Ответ заключается в использовании параметризованных запросов (google "ado.net параметризованные запросы"), а также дайте вашим текстовым полям собственные имена.

Laxmidhar tatwa technologies

сэр вы должны в обязательном порядке передать все значения i этого типа запроса

2 Ответов

Рейтинг:
1

Patrice T

Цитата:
что я могу сделать

Post asp-код.
Эта ошибка пахнет как проблема "sql-инъекции".

Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]


Рейтинг:
0

JayantaChatterjee

Привет,
это произошло потому, что '(один ноготок).
вам нужно знать о SQL инъекции Предотвращение атак SQL-инъекций[^]
и параметризованные запросы Использование параметризованных запросов для предотвращения атак SQL-инъекций в SQL Server[^]

Я надеюсь, что это решит вашу проблему.