Любимая техника проверки веб-форм - PullRequest
2 голосов
/ 07 октября 2008

Какой любимый способ очистки пользовательских данных?

Я использую Javascript, но недавно мне потребовалось что-то более безопасное (в конце концов, люди могут отключить его), поэтому я посмотрел на Flex, но решил спросить сообщество, что они думают.

Ответы [ 5 ]

4 голосов
/ 07 октября 2008

НИКОГДА НЕ НИКОГДА не используйте javascript или любую другую клиентскую технологию только для проверки только . Вы можете использовать проверку на стороне клиента, чтобы сохранить некоторую нагрузку на ваш сервер или сделать ваше приложение более отзывчивым, показывая ошибку быстрее, если проверка не удалась, но вы должны всегда проверять, используя код на стороне сервера.

Лично мне нравятся элементы проверки ASP.Net, потому что они дают вам преимущество проверки на стороне клиента с безопасностью на стороне сервера, без необходимости писать свою логику дважды. Конечно, управление запасами довольно простое, но вы можете расширить их.

3 голосов
/ 07 октября 2008

Проверка ВСЕГДА должна выполняться на стороне сервера. Кроме того, это хорошо на стороне клиента.

То, как вы это сделаете, зависит от того, на чем написано ваше приложение. Любой язык должен быть способен обрабатывать проверку; важна логика, а не язык.

Это также зависит от того, что вы делаете с данными, которые вам дают. Помещение его в URL или сохранение его в базе данных SQL требует двух очень разных типов очистки. Если возможно, внесите в белый список допустимые значения - не включайте в черный список недопустимые значения. Кто-то всегда сможет придумать новый неправильный ввод, который вы не рассматривали.

1 голос
/ 07 октября 2008
  • всегда используйте проверку на стороне сервера как минимум
  • использовать регулярные выражения

PHP Пример:

preg_match('/^[\w][\w\,\-\.]*\@[\w]+[\w\-\.]*$/', $_GET['email'], $matches);
if (count($matches) > 0) {
  $_GET['email'] = $matches[0];
} else {
  die('invalid email address');
}
1 голос
/ 07 октября 2008

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

0 голосов
/ 07 октября 2008

Рекомендуется использовать проверку на стороне сервера и на стороне клиента. Я использую JQuery для проверки на стороне клиента.

...