Codeigniter ReCaptcha Appleboy dengan Proxy

Codeigniter ReCaptcha Appleboy yang alamatnya disini [https://github.com/appleboy/CodeIgniter-reCAPTCHA] adalah salah satu library untuk implemen Recaptcha 2 milik google dengan Codeigniter. Awalnya ketika saya jalankan di hosting saya sendiri tidak ada masalah, namun ketika dipasang di host/server dengan aturan proxy menjadi bermasalah.

Setelah saya cari tahu, library ini belum bisa handle untuk server dengan proxy. Lantas itulah penyebabnya. Saya coba ganti kodenya yang awalnya pada file libraries/Recaptcha.php pada fungsi _submitHTTPGet($data) seperti dibawah ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
     * Submits an HTTP GET to a reCAPTCHA server.
     *
     * @param array $data array of parameters to be sent.
     *
     * @return array response
     */

    private function _submitHTTPGet($data)
    {
        $url = self::site_verify_url.'?'.http_build_query($data);
        $response = file_get_contents($url);

        return $response;
    }

menjadi seperti kode dibawah ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
     * Submits an HTTP GET to a reCAPTCHA server.
     *
     * @param array $data array of parameters to be sent.
     *
     * @return array response
     */

    private function _submitHTTPGet($data)
    {
        // Define a context for HTTP.
        $aContext = array(
            'http' => array(
                'proxy' => 'tcp://192.168.7.200:80', // alamat proxy dan port nya
                'request_fulluri' => true,
            ),
        );
        $cxContext = stream_context_create($aContext);

        // Now all file stream functions can use this context.

        $url = self::site_verify_url.'?'.http_build_query($data);
        $response = file_get_contents($url, false, $cxContext);

        return $response;
    }

Terlihat diatas, saya tambahkan stream_context_create untuk handle proxy lalu saya masukan ke fungsi file_get_contents tersebut.

Dengan kode ini, Codeigniter Recaptcha Appleboy jalan dengan lancar.

Semoga bisa ngebantu.

One thought on “Codeigniter ReCaptcha Appleboy dengan Proxy”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.