Cara Redirect HTTPS di Codeigniter - Rumah IT

Baru

recent

Cara Redirect HTTPS di Codeigniter

Cara Redirect HTTPS di Codeigniter

Hypertext Transfer Protocol Secure (HTTPS) adalah ekstensi dari Hypertext Transfer Protocol. Protokol ini digunakan untuk komunikasi aman melalui jaringan komputer, dan banyak digunakan di Internet. Dalam HTTPS, protokol komunikasi dienkripsi menggunakan Transport Layer Security atau, sebelumnya, Secure Sockets Layer.


Pada sebuah website yang sudah mendukung https ditandai dengan gambar gembok terkunci, terkadang berwarna hijau dengan tulisan connection is secure. Saat kita membuka sebuah website, secara bawaan browser akan membukanya dengan protokol https. Jika ingin menggunakan https, kita harus menulisnya secara manual di depan nama domain. Untuk itu kita memerlukan teknik pengalihan atau redirect dari http ke https agar website yang kita buka secara otomatis dialihkan ke protokol https.

Ada beberapa teknik pengalihan dari http ke https yang bisa kita gunakan antara lain :

  • Mengaktifkan Force HTTPS Redirect di Control Panel Hosting
  • Redirect HTTPS dengan .htaccess
  • Memodifikasi file PHP

Untuk point 1 dan 2 sudah saya bahas pada artikel 4 Cara Redirect HTTPS Di Laravel. Cara ini berlaku umum untuk website yang menggunakan CMS atau framework apapun. Karena cara ini kita setting dari sisi server. Sedangkan untuk teknik yang ketiga yaitu memodifikasi file PHP untuk mengalihkan dari http ke https.

Karena setiap framework mempunyai hirarki file yang berbeda, caranyapun juga berbeda. Semisal jika di framework laravel sesuai yang saya jelaskan di artikel sebelumnya, ada beberapa file PHP yang harus dimodifikasi untuk redirect ke https.

Pada framework codeigniter, kita akan memanfaatkan Hook untuk melakukan redirect dari http ke https. Untuk caranya ikuti langkah-langkah berikut ini :

1. Buka file application/config/config.php , set enable_hook menjadi TRUE.

$config['enable_hooks'] = TRUE;

2. Buat file baru bernama hooks.php di "application/config/hooks.php" dan tambahkan kode di bawah ini di hooks.php
$hook['post_controller_constructor'][] = array(
                                'function' => 'redirect_ssl',
                                'filename' => 'ssl.php',
                                'filepath' => 'hooks'
                                );

3. Sekarang buat direktori baru dengan nama "hooks" di bawah direktori aplikasi kemudian buat file baru bernama "ssl.php" di "application/hooks/ssl.php" dan tambahkan kode di bawah ini ke "ssl.php"
function redirect_ssl() {
    $CI =& get_instance();
    $class = $CI->router->fetch_class();
    $exclude =  array('client');  // add more controller name to exclude ssl.
    if(!in_array($class,$exclude)) {
      // redirecting to ssl.
      $CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);
      if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());
    } 
    else {
      // redirecting with no ssl.
      $CI->config->config['base_url'] = str_replace('https://', 'http://', $CI->config->config['base_url']);
      if ($_SERVER['SERVER_PORT'] == 443) redirect($CI->uri->uri_string());
    }
}

4. Simpan file dan akses website dengan browser. Maka secara otomatis akan redirect ke https.
All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2022
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.