Matthias Andreas Benkard | b382b10 | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 1 | <?php |
| 2 | |
| 3 | namespace RobThree\Auth\Providers\Qr; |
| 4 | |
| 5 | abstract class BaseHTTPQRCodeProvider implements IQRCodeProvider |
| 6 | { |
Matthias Andreas Benkard | 7b2a3a1 | 2021-08-16 10:57:25 +0200 | [diff] [blame^] | 7 | /** @var bool */ |
Matthias Andreas Benkard | b382b10 | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 8 | protected $verifyssl; |
| 9 | |
Matthias Andreas Benkard | 7b2a3a1 | 2021-08-16 10:57:25 +0200 | [diff] [blame^] | 10 | /** |
| 11 | * @param string $url |
| 12 | * |
| 13 | * @return string|bool |
| 14 | */ |
Matthias Andreas Benkard | b382b10 | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 15 | protected function getContent($url) |
| 16 | { |
| 17 | $curlhandle = curl_init(); |
Matthias Andreas Benkard | 7b2a3a1 | 2021-08-16 10:57:25 +0200 | [diff] [blame^] | 18 | |
Matthias Andreas Benkard | b382b10 | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 19 | curl_setopt_array($curlhandle, array( |
| 20 | CURLOPT_URL => $url, |
| 21 | CURLOPT_RETURNTRANSFER => true, |
| 22 | CURLOPT_CONNECTTIMEOUT => 10, |
| 23 | CURLOPT_DNS_CACHE_TIMEOUT => 10, |
| 24 | CURLOPT_TIMEOUT => 10, |
| 25 | CURLOPT_SSL_VERIFYPEER => $this->verifyssl, |
| 26 | CURLOPT_USERAGENT => 'TwoFactorAuth' |
| 27 | )); |
| 28 | $data = curl_exec($curlhandle); |
Matthias Andreas Benkard | 7b2a3a1 | 2021-08-16 10:57:25 +0200 | [diff] [blame^] | 29 | |
Matthias Andreas Benkard | b382b10 | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 30 | curl_close($curlhandle); |
| 31 | return $data; |
| 32 | } |
Matthias Andreas Benkard | 7b2a3a1 | 2021-08-16 10:57:25 +0200 | [diff] [blame^] | 33 | } |