SSL doğrulamasının başarısız olmasına neden olabilecek birçok neden vardır. Çok fazla yönlendirmeden yanlış .ini
dosyalara / kurulumlara veya eksik sertifikaları veya alt alan adlarını kullanmaya başlamak . Her durumda, bunun nedenini araştırmanız ve düzeltmeniz gerekecektir . Orada hiçbir etrafında yol.
Ancak geçici olarak bu soruna geçici bir çözüm bulmak için (diyelim ki kodunuzu daha da geliştirmeniz ve SSL hatasını daha sonra düzeltmeniz gerekiyor), bir filtre kullanabilirsiniz:
add_filter( 'https_ssl_verify', '__return_false' );
Bunu uzak bir istek sırasında çalıştırırken, bu tür bir HTTP isteği sırasında tetiklenen bir filtreye eklenmiş bir geri aramaya sarmalısınız. Doğru durum için doğrulamayı gerçekten kaldırıp kaldırmadığınızı kontrol edin ve diğer istekleri güvenli hale getirmek için bunu yalnızca bir kez çalıştırdığınızdan emin olun.
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 );
Bu, genel olarak dağıtılmış bir eklentiyse, bunu kullanıcının açıp kapatabileceği basit bir seçeneğe eklemek isteyebilirsiniz. Önce doğrulanmış isteği de deneyebilirsiniz ve eğer değilse (ve kullanıcı imzalanmamış bir istekte bulunmayı seçtiyse), güvenli olmayabilecek bir isteğe geçebilirsiniz.
Temel kural:
Do asla kullanıcı bunu kabul etti ve risklerin bilir kadar güvensiz bir isteği gerçekleştirmek.