Tôi đã phát triển một trang web cục bộ xác thực dựa trên dấu hiệu được chia sẻ. Một trong các bước là yêu cầu tôi thực hiện yêu cầu curl đến một tài nguyên https để nhận mã thông báo truy cập.Cách bật hỗ trợ CURLOPT_SSL_VERIFYHOST = 2 trên Hệ điều hành/PHP
Một phần của cấu hình curl là:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
Như bạn có thể thấy tôi nhận xét ra các tùy chọn CURLOPT_SSL_VERIFYHOST. Tôi đã đọc trên php.net và trên các blog khác nhau/stackoverflow (Security consequences of disabling CURLOPT_SSL_VERIFYHOST (libcurl/openssl)) bài viết Ý nghĩa của các tùy chọn này.
Trên máy phát triển của tôi CURLOPT_SSL_VERIFYHOST 2
đã hoạt động tốt. Tôi chỉ sử dụng cài đặt vani php được cung cấp trong gói ubuntu 12.04 php5 và php5-curl.
Khi sản xuất (không gian trên nền tảng không gian), số CURLOPT_SSL_VERIFYHOST 2
không hoạt động, đó là lý do tại sao tôi đã thay đổi thành sai để xác minh đây là vấn đề. Thấy như tôi đã không rõ ràng làm bất cứ điều gì để kích hoạt tính năng này trên localhost của tôi Tôi không biết những gì chỉ thị/cấu hình tùy chọn điều khiển này.
Điều tôi muốn nói là "không hoạt động" là khi sản xuất cuộc gọi curl trả lại số http_code
của 0
khi số VERIFYHOST
được đặt thành 2
. Khi tôi đặt nó vào FALSE
nó được trả lại một mã trạng thái của 200
Câu hỏi của tôi là:
Làm thế nào tôi có thể bật SSL_VERIFYHOST
trên một hộp linux?
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn bạn.
curl của nó là '2' cho cài đặt này: http://php.net/manual/en/function.curl-setopt.php –