Вы должны сделать проверку на стороне сервера? - PullRequest
14 голосов
/ 14 июля 2009

Стоит ли выполнять проверку на стороне сервера или можно просто выполнить проверку на стороне клиента?

@ TheTXI

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


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

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

Ответы [ 16 ]

1 голос
/ 14 июля 2009

Хотя эта стратегия будет работать для хороших и законных пользователей, она не будет защищать ваш сайт от запроса не из браузера, используя какой-либо хакерский инструмент или серию автоматических запросов ботов, отправляющих команду HTTP POST с полной загрузкой дерьма, которое в в лучшем случае это просто загрязняет вашу систему, а в худшем - нарушает целостность данных, что приводит к появлению сообщений об ошибках на нескольких страницах.

1 голос
/ 14 июля 2009

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

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

1 голос
/ 14 июля 2009

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

1 голос
/ 14 июля 2009

Если вы не выполните проверку на сервере, кто-то перезапишет вашу проверку на стороне клиента с помощью Firebug или просто полностью обойдется с другим расширением Firefox под названием Poster. Удачи в очистке базы данных!

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

1 голос
/ 14 июля 2009

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

0 голосов
/ 09 июля 2010

Проверка на стороне клиента противоречит концепции «всемирной паутины», потому что причина, по которой мы сделали html-текст, заключается в том, что каждое устройство должно иметь возможность обрабатывать rsponce, каким бы маленьким оно ни было. Теперь проверка на стороне клиента требует вычислительной мощности используемого устройства, а это не то, что "www" ожидает от устройства, потребляющего html. Проверки на стороне клиента особенно важны для экономии пропускной способности, так как скорость интернета растет день ото дня, будет время, когда мы больше не будем требовать проверки на стороне клиента.

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