php, как отправить данные формы безопасным способом? - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть веб-сайт с простой формой входа.

форма сообщений на login.php

внутри login.php Я проверяю имя пользователя и пароль и перенаправляю на определенную страницу.

Все хорошо, пока я не наткнулся на охрану. Из соответствия PCI я получаю это:

Все сообщения веб-приложений, содержащие конфиденциальную информацию, должны передаваться с использованием SSL / TLS (HTTPS). Если для исправления этого вывода используется перенаправление с HTTP на HTTPS, пожалуйста, убедитесь, что такое перенаправление происходит на стороне сервера системы (например, с помощью элемента заголовка HTTP «Location») и что перенаправление не зависит от клиента (браузера).

затем я вошел в login.php и добавил этот код вверху:

if (!isset($_SERVER['HTTPS']) || !$_SERVER['HTTPS']) {
    header("Location: https://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
}

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

Примечания:
я не могу установить веб-сайт: https://www.website.com, потому что это выдаст предупреждение безопасности. У меня есть действительный сертификат, хотя.

есть идеи, как мне решить эту проблему?

спасибо

редактирование:

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

если я добавлю сертификат в список исключений, это предупреждение появится только один раз

Ответы [ 2 ]

0 голосов
/ 11 февраля 2012

Вы уверены, что ваши страницы не содержат что-то через http-транспорт, например, jpg или встроенный объект Вы можете указать браузеру использовать https для страницы, но если страница вызывает jpgs или другие сценарии или что-то в этом роде, вы можете вызвать их с помощью http. Затем браузер считает, что на странице есть защищенные и незащищенные объекты, и это может быть проблемой.

0 голосов
/ 11 февраля 2012

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

...