Я создаю веб-сайт, и у меня есть вопросы с формами на странице входа / регистрации. У меня есть несколько стандартных подтверждений javascript на странице входа. Мои вопросы: должен ли я просто отключить кнопку входа в систему, если javascript отключен, или я должен держать проверки PHP на стороне сервера?
Что лучше с точки зрения безопасности? Я планирую оставить кнопку входа / регистрации отключенной и включить ее только с помощью javascript. Таким образом, я могу избежать написания проверки на стороне PHP того же JavaScript, который уже существует. Это безопасный способ сделать это?
благодаря
В целом, используйте PHP. Javascript можно легко обмануть и / или полностью отключить. В этот момент ваш сервер будет поставляться с любым желаемым пользователем злонамеренного конечного пользователя, и вы не остановите их.
Используйте PHP для проверки, и если вы хотите, чтобы это выглядело фантазией, поставьте javascript сверху. Но ВСЕГДА серверная сторона проверяет.
Как правило, все, что связано с безопасностью или предотвращением поведения конкретного пользователя, не полагается на javascript или CSS, чтобы что-то не происходило на странице. Поскольку скрипты и css могут быть переопределены или отключены в браузере, у вас не будет никакой защиты от этого поведения, если они это сделают.
Сторона сервера – это правильное место для реализации предупредительных мер предосторожности.
Кроме того, обратите внимание, что выполнение обоих очень приятное для пользователя, но серверная сторона – единственное окончательное место для предотвращения нежелательных данных.
Каждая проверка на стороне клиента ДОЛЖНА быть реплицирована на стороне сервера для обеспечения безопасности. Скрипты на стороне клиента можно легко заменить злоумышленником, чтобы полностью обходить вашу проверку, а кнопки можно легко разрешить с помощью инструментов веб-отладки.
Тем не менее, иногда для удобства пользователей иногда требуется также проверка на стороне клиента. В этом случае вы должны проверить как серверную (PHP), так и клиентскую (Javascript).
Проверка на стороне PHP лучше.
Проверка на стороне клиента НЕ безопасна, поскольку ее можно легко взломать. Это только для удобства пользователя. Например, в ответ на проверку на стороне клиента пользователь может исправить ошибки до отправки формы. Это экономит время пользователя, и они ценят ваш сайт.
Проверка безопасности должна выполняться на сервере
Вы должны проверить свои данные на сервере и проанализировать его ответы с помощью Javascript. Используйте только Javascript для добавления / удаления содержимого HTML и создания лучших пользовательских интерфейсов.
Всегда учитывайте это: что произойдет, если пользователь отключит Javascript в своем браузере?