2015-04-03 2 views
2

Я просто хочу понять, что происходит с данными, когда пользователь отправляет форму входа в скрипт PHP на сервере?Что происходит с данными, когда пользователь отправляет форму входа?

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

+0

Возможный дубликат [Должен войти в систему на странице https] (http://stackoverflow.com/questions/4309199/must-logins-be-a-https-page) и [Защитить хэш и соль для паролей PHP] (http://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords) –

+1

«Читайте любым хакером» в основном преувеличение СМИ. Прослушивание чей-то незашифрованный интернет-трафик требует, чтобы взломщик подключался в какой-то момент к вашему соединению с сервером, что часто не является тривиальным. Подходы включают предоставление бесплатного (вредоносного) Wi-Fi, прослушивание всего трафика на открытом wifi (как легко), установка аппаратного устройства в чей-то офис (усложнение), подключение к сети общего пользования в придорожной коробке маршрутизации (еще труднее). – halfer

+0

Пароли - это всего лишь один (популярный) коэффициент аутентификации. Но есть и другие. – Gumbo

ответ

2

, что происходит с данными, когда пользователь отправляет форму входа в PHP скрипт на сервере?

Данные перемещаются через Интернет с одного компьютера на другой. Ни больше ни меньше. То, что сервер делает с предоставленными данными, зависит от сервера.

Почему мы хэширования или шифровать пароль на стороне сервера ...

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

... может быть прочитан любым хакером.

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

+0

Если злоумышленник имеет доступ к серверу, он все равно может читать безопасно переданные данные. То же самое относится к другому концу соединения. – Gumbo

+0

Вот почему я неоднозначно сформулировал это как «безопасную среду». Существует еще множество способов, с помощью которых данные могут быть перехвачены, абсолютно. Если какой-либо одноранговый узел взломан, все ставки отключены. – deceze

+0

@deceze Простой, но информативный и в пояснении. Теперь я понимаю этот процесс. Огромное спасибо. – weblover

0

Вы правы, может быть атака MITM (Man In The Middle), и хакер может в конечном счете прочитать ваш пароль. Вот почему использование HTTPS (везде) предпочтительнее, чтобы обеспечить отправку формы.

Некоторые ссылки, которые могут помочь вам:

URIs, Addressability, and the use of HTTP GET and POST

All you want to know about HTTPS

+0

Спасибо, дорогой Акрам за ваш ответ и ресурс, они действительно полезны. – weblover

Смежные вопросы