diff --git a/src/ReCaptcha/RequestMethod/Post.php b/src/ReCaptcha/RequestMethod/Post.php index 77ff691..6d2c04f 100644 --- a/src/ReCaptcha/RequestMethod/Post.php +++ b/src/ReCaptcha/RequestMethod/Post.php @@ -73,6 +73,10 @@ public function __construct(?string $siteVerifyUrl = null) public function submit(RequestParameters $params): string { $options = [ + 'ssl' => [ + 'verify_peer' => true, + 'verify_peer_name' => true, + ], 'http' => [ 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', diff --git a/tests/ReCaptcha/RequestMethod/PostTest.php b/tests/ReCaptcha/RequestMethod/PostTest.php index e249a8a..fff18ee 100644 --- a/tests/ReCaptcha/RequestMethod/PostTest.php +++ b/tests/ReCaptcha/RequestMethod/PostTest.php @@ -117,10 +117,14 @@ public function httpContextOptionsCallback(array $args): void $context = $args[2]; $options = stream_context_get_options($context); $this->assertArrayHasKey('http', $options); + $this->assertArrayHasKey('ssl', $options); /** @var array $httpOptions */ $httpOptions = $options['http']; + /** @var array $sslOptions */ + $sslOptions = $options['ssl']; + $this->assertArrayHasKey('method', $httpOptions); $this->assertEquals('POST', $httpOptions['method']); @@ -135,6 +139,11 @@ public function httpContextOptionsCallback(array $args): void $this->assertArrayHasKey('timeout', $httpOptions); $this->assertEquals(60, $httpOptions['timeout']); + + $this->assertArrayHasKey('verify_peer', $sslOptions); + $this->assertTrue((bool) $sslOptions['verify_peer']); + $this->assertArrayHasKey('verify_peer_name', $sslOptions); + $this->assertTrue((bool) $sslOptions['verify_peer_name']); } /**