Вот что написал автор одной из этих «взломанных» версий:
В частности, CURLOPT_SSL_VERIFYPEER
и CURLOPT_SSL_VERIFYHOST являются истинными
по умолчанию: я установил их в ложь, и это
работал на тестовой странице!
Эффект, который имеет место, сводит на нет все преимущества безопасности, предлагаемые при использовании HTTPS. Основная причина, по которой HTTPS полезен в OpenID, заключается в том, что он защищает от атаки «человек посередине», т. Е. Какой-то плохой парень отравляет ваш DNS-кеш для отправки всех google.com
запросов на bad-guys.example
. При правильно настроенном HTTPS вы проверяете сертификат в соединении, узнаете, что он не от Google, и говорите: «Я не собираюсь верить тому, что вы говорите, bad-guys
!»
Если, конечно, вы не проверяете какие-либо сертификаты (вы устанавливаете все параметры SSL_VERIFY
на false
), и в этом случае ваш сервер будет верить всему, что bad-guys
говорит, как если бы это был настоящий поставщик Google , Вы можете представить, как это может быть плохо.
Теперь, честно говоря, это не самый худший выбор, который вы могли бы сделать , потому что он ничуть не хуже, чем просто использование HTTP, что в любом случае делают многие люди. Вы просто лжете своим пользователям , если подразумеваете, что обеспечиваете безопасность на уровне HTTPS, а не
И есть много информации о том, насколько легко или нет проводить атаки на основе DNS, или как просто подделывать SSL-сертификаты . В любом случае, требуется, чтобы кто-то атаковал соединение между вашим сервером и Google, что на обычно сложнее, чем нападение на соединение между ноутбуком пользователя в кафе и вашим сервером.
Но все же, намного лучше на самом деле исправить конфигурацию PHP или CURL SSL. Или, если вы этого не сделаете, предупредите своих пользователей об этом, когда они зарегистрируются с идентификаторами HTTPS, чтобы они могли выбирать, действительно ли они хотят использовать этот OpenID на вашем сайте.
Что приводит к вашему второму вопросу. Я думаю, что, ничего не зная о том, какую серверную платформу вы используете, лучше всего связать вас с документами Curl по SSL-сертификатам ; см. раздел «Получите более качественный / другой / более новый сертификат CA!»