Что хорошо для сайта социальной сети: проверка на стороне сервера или проверка на стороне клиента

Я делаю проект в php и использую codeigniter. я должен был сделать проверку формы в этом, и я смущен, чтобы использовать или проверку на стороне сервера или проверку на стороне клиента.??

что хорошо для сайта социальной сети, либо на стороне сервера, либо на стороне клиента.??

Кто-нибудь знает, какая стратегия используется Facebook и Twitter для проверки?

6 ответов

Оба, но если вам нужно было выбрать один, на стороне сервера.

Проверка на стороне клиента сделает вашу форму более доступной и удобной для пользователя. Вы не будете тратить время своего пользователя, обновляя страницу, просто чтобы сообщить, что есть ошибка.

Клиентские технологии, в основном JavaScript, могут быть отключены, не оставляя никакой проверки вообще.

Я бы всегда предлагал оба.

Если вы используете jQuery, это мой (и популярный) фаворит: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

CodeIgniter имеет свою собственную библиотеку проверки формы, но если вы ищете альтернативу, посмотрите класс плагина PHP jQuery Validation. Он имитирует плагин jQuery, который я только что упомянул... только в PHP.

Вы всегда должны использовать проверку на стороне сервера, независимо от того, используете ли вы также проверку на стороне клиента. всему, что вы получаете со стороны клиента, нельзя доверять.

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

Проверка на стороне сервера является обязательной.

Проверка на стороне сервера является обязательной, потому что это то, что вы можете контролировать в целом. Я имею в виду, что вы уже готовы со своей стороны защитить нежелательный и незаконный ввод данных и т. Д. Клиентская сторона тоже уже написана вами, но их можно отключить, так как по умолчанию JavaScript включен в IE. Следовательно, остается риск того, что поступающие данные могут вообще не проверяться.

Наличие проверки на стороне сервера всегда может защитить это....

Следовательно, аутентификация на стороне сервера может быть изменена как таковая, поскольку она вступает в игру только в том случае, если обнаружен отключенный javascript, что обеспечивает защиту с двух сторон!!!

Даже я бы порекомендовал и то, и другое как существенное на самом деле на стороне сервера, более существенное (если бы вы могли использовать автоматические триггеры в SQL/ACCESS/ORACLE, они значительно снизили бы вашу потребность в сценариях на стороне сервера). Счастливого программирования!:)

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

Однако это не точные термины, и в наши дни проверка обычно выполняется с помощью Ajax, который СМОТРИТ на стороне клиента, даже при использовании данных на стороне сервера, что является текущей тенденцией.

Для сайтов социальных сетей вы должны разделить свои проверки на две части (то есть на стороне клиента и на стороне сервера), потому что есть две проблемы с сайтами социальных сетей, одна из которых - удобство для пользователя, а вторая - безопасность информации пользователя.

Для вещей, которые не имеют проблем с безопасностью и конфиденциальностью, вы можете использовать проверку на стороне клиента (например, синтаксис электронной почты или подтверждение синтаксиса даты рождения), а также для других вещей (например, чтобы проверить погоду, действительно ли существует идентификатор электронной почты или нет, и другие проверки, связанные с паролем).) должен быть на стороне сервера.

Дело в том, что любой может редактировать сценарии на стороне клиента и отправлять форму на сервер, что является плохой практикой.

Поэтому после проверки на стороне клиента рекомендуется (на самом деле необходимо) проверка на стороне сервера.

Другие вопросы по тегам