Es gibt unzählige Gründe, aus denen eine SSL-Überprüfung fehlschlagen kann. Beginnend mit zu vielen Weiterleitungen zu falschen .ini
Dateien / Setups oder einfach fehlenden Zertifikaten oder Unterdomänen. In jedem Fall müssen Sie den Grund dafür suchen und beheben . Daran führt kein Weg vorbei.
Um dieses Problem jedoch vorübergehend zu umgehen (beispielsweise müssen Sie den Code weiterentwickeln und den SSL-Fehler später beheben), können Sie einen Filter verwenden:
add_filter( 'https_ssl_verify', '__return_false' );
Wenn Sie dies während einer Remoteanforderung ausführen, sollten Sie es in einen Rückruf einschließen, der an einen Filter angehängt ist, der während einer solchen HTTP-Anforderung ausgelöst wird. Stellen Sie sicher, dass Sie wirklich die Überprüfung für den richtigen Fall entfernen - und stellen Sie sicher, dass Sie diese nur einmal ausführen, um andere Anforderungen nicht zu unsichern.
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 );
Wenn es sich um ein öffentlich verteiltes Plugin handelt, möchten Sie es möglicherweise einer einfachen Option hinzufügen, die der Benutzer aktivieren oder deaktivieren kann. Sie können auch zuerst die verifizierte Anforderung testen. Wenn dies nicht der Fall ist (und der Benutzer sich für eine nicht signierte Anforderung entschieden hat), wechseln Sie zu einer potenziell unsicheren Anforderung.
Faustregel:
Führen Sie niemals eine unsichere Anforderung durch, bevor Ihr Benutzer dem zugestimmt hat und die Risiken kennt.