Istnieje wiele powodów, dla których weryfikacja SSL może się nie powieść. Począwszy od zbyt wielu przekierowań do niewłaściwych .ini
plików / konfiguracji lub po prostu brakujących certyfikatów lub subdomen. W każdym razie musisz znaleźć przyczynę tego i naprawić . Jest nie sposób wokół niego.
Aby jednak tymczasowo obejść ten problem (powiedzmy, że musisz dalej rozwijać swój kod i naprawić błąd SSL), możesz użyć filtra:
add_filter( 'https_ssl_verify', '__return_false' );
Gdy uruchamiasz to podczas zdalnego żądania, powinieneś zawinąć go w wywołanie zwrotne dołączone do filtru, który jest wyzwalany podczas takiego żądania HTTP. Upewnij się, że naprawdę usuwasz weryfikację poprawnej sprawy - i upewnij się, że uruchomisz ją tylko raz, aby nie zabezpieczyć innych żądań.
add_filter( 'http_request_args', function( $params, $url )
{
// find out if this is the request you are targeting and if not: abort
if ( 'foo' !== $params['foo'] )
return $params;
add_filter( 'https_ssl_verify', '__return_false' );
return $params;
}, 10, 2 );
Jeśli jest to publicznie rozpowszechniana wtyczka, możesz dołączyć ją do prostej opcji, którą użytkownik może włączyć lub wyłączyć. Równie dobrze możesz najpierw wypróbować zweryfikowane żądanie, a jeśli nie (a jeśli użytkownik wybrał niepodpisane żądanie), przejdź do potencjalnie niebezpiecznego żądania.
Praktyczna zasada:
Nigdy nie wykonuj niezabezpieczonego żądania, dopóki użytkownik nie wyrazi na to zgody i nie zna ryzyka.