Проверка введенных пользовательских данных - PullRequest
3 голосов
/ 28 мая 2010

Это общий вопрос, но я делаю настольное приложение.

Должен ли я проверить, например, имя, превышающее 50 символов, или это дело вкуса?

Или я должен проверить> 50 символов, потому что пользователь может заполнить мою базу данных 10000000 символов?

EDIT:

Кажется, я заставил мяч двигаться ... Я должен был сказать, что имя / фамилия в моем настольном приложении принадлежат ученикам, которых учитель вводит ...

так что 50 символов - это более чем достаточно, если вы входите в "Майкла" и "Крамера", как вы думаете? ; -)

Ответы [ 4 ]

1 голос
/ 28 мая 2010

Вы всегда должны проверять свои входные данные. Если ничего другого, я предполагаю, что поле вашей базы данных является полем набора, поэтому вы должны запретить пользователю вводить более длинные строки, поскольку вы не можете их хранить, так что слишком длинные имена, вероятно, вызовут какую-то ошибку в случае сбоя вставки БД.

0 голосов
/ 28 мая 2010

Многоуровневая стратегия проверки обычно уместна. На уровне пользователя не разрешайте ничего, что впоследствии может вызвать ошибки. Однако, если вы полагаетесь на проверку JavaScript, имейте в виду, что ее можно легко обойти. Ваш бизнес и / или уровни данных также должны проверяться перед сохранением в базе данных. То же самое верно, если вы отправляете данные в службу.

Проверка на стороне клиента для удобства использования. Проверка на надежность и целостность на стороне сервера.

0 голосов
/ 28 мая 2010

Также имейте в виду, что, хотя большинство людей не имеют ни одного имени, длина которого превышает 50 символов, они могут иметь чрезвычайно много имен. Например, Адольф Блейн Чарльз Дэвид Эрл Фредерик Джеральд Хьюберт Ирвин Джон Кеннет Ллойд Мартин Неро Оливер Пол Куинси Рэндольф Шерман Томас Ункас Виктор Уильям Ксеркс Янси Зевс Вулфешлегельсштайнхаузенбергердорф Старший. Не позволяйте пользователям вводить свое полное имя - почти ужасная вещь.

0 голосов
/ 28 мая 2010

Пути в мире многочисленны и разнообразны, и хотя 50 имен для имени WASP кажутся достаточными, я бы не стал отказываться и заявлять, что нигде нет людей, у которых нет более длинного , Вместо этого я бы удостоверился, что мое приложение никогда не использует буферы фиксированной длины в любом месте, поэтому, если кто-то введет имя длиной 10 000 000 символов, все, что произойдет, это то, что он будет использовать на несколько байт больше, чем обычно.

...