Jika anda baru saja menginstal SSL pada server dalam website codeigniter yang anda miliki dan anda bingung bagaimana agar SSL yang anda instal dapat terintegrasi dengan baik dengan website anda, maka anda dapat membaca artikel ini.
Pada artikel ini saya bagikan bait program yang dapat digunakan untuk melakukan redirect ke SSL (https) dengan memanfaatkan hooks pada codeigniter.
Langkah awal adalah dengan membuka direktori application/hooks/ yang ada pada codeigniter. Pada folder tersebut buatlah sebuah file php dengan nama ssl.php, code programnya seperti berikut.
<?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());
}
}
?>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$hook['post_controller_constructor'][] = array( 'function' => 'redirect_ssl', 'filename' => 'ssl.php', 'filepath' => 'hooks' );
Langkah terakhir yaitu mengaktifkan fungsi hooks codeigniter pada file config.php di direktori application/config/. Cara mengaktifkannya yaitu dengan mengganti enable_hooks yang sebelumnya FALSE menjadi TRUE, lihat bait program berikut.
$config['enable_hooks'] = TRUE;
Dengan cara di atas maka ssl anda sudah bisa terintegrasi dengan website codeigniter yang anda buat. Semoga dapat membantu.