30 lines
		
	
	
		
			758 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			758 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Core\Objects\Captcha;
 | |
| 
 | |
| class HCaptchaProvider extends CaptchaProvider {
 | |
| 
 | |
|   public function __construct(string $siteKey, string $secretKey) {
 | |
|     parent::__construct($siteKey, $secretKey);
 | |
|   }
 | |
| 
 | |
|   public function verify(string $captcha, string $action): bool {
 | |
|     $success = true;
 | |
|     $url = "https://api.hcaptcha.com/siteverify";
 | |
|     $response = $this->performVerifyRequest($url, $captcha);
 | |
|     $this->error = "Could not verify captcha: Invalid response from hCaptcha received.";
 | |
| 
 | |
|     if ($response) {
 | |
|       $success = $response["success"];
 | |
|       if (!$success) {
 | |
|         $this->error = "Captcha verification failed.";
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     return $success;
 | |
|   }
 | |
| 
 | |
|   public function getName(): string {
 | |
|     return CaptchaProvider::HCAPTCHA;
 | |
|   }
 | |
| } |