2014-10-15 10 views
6

Moja aplikacja korzystająca z pakietu Facebook SDK for PHP v2.0 przestała działać od 20 do 24 godzin. Wciąż otrzymuję następujący błąd z base_facebook.php -Pakiet SDK serwisu Facebook dla PHP - wyjątek CurlException: 35: błąd: 14094410: Procedury SSL: SSL3_READ_BYTES: niepowodzenie uśpienia alertu sslv3

CurlException: rutyny SSL:: 35: error: 14094410 SSL3_READ_BYTES alert SSLv3 awarię handshake

Od przeczytaniu innych wątków na StackOverflow I dodaje następujące linie kod do base_facebook.php, ale żadna z nich nie pomaga.

$opts[CURLOPT_SSL_VERIFYPEER] = false; 
$opts[CURLOPT_SSL_VERIFYHOST] = false; 
$opts[CURLOPT_SSLVERSION] = 3; 
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3'); 

Wszelkie sugestie dotyczące rozwiązania problemu będą bardzo mile widziane. Dzięki.

Odpowiedz

14

Jest tak, ponieważ luka w zabezpieczeniach protokołu SSLv3 jest następująca: https://access.redhat.com/articles/1232123 Facebook wyłączył SSLv3, więc nie można go już używać.

Jeśli masz PHP 5.5 lub 5.6, spróbuj zmienić

$opts[CURLOPT_SSLVERSION] = 3; 

do

$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1; 

Jeśli można go używać bez stałego błędu, to w porządku. Jeśli masz wersję php niższą niż 5.5, po prostu wypowiedz te 2 linie, a potem wszystko będzie dobrze.

$opts[CURLOPT_SSLVERSION] = 3; 
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');