개발자의 끄적끄적

[php/codeigniter] hooks 을 이용해 header 보안사항 일괄 반영하는 방법 본문

개발/php

[php/codeigniter] hooks 을 이용해 header 보안사항 일괄 반영하는 방법

효벨 2021. 4. 3. 02:00
728x90
반응형

[php/codeigniter] hooks 을 이용해 header 보안사항 일괄 반영하는 방법

 

 

codeigniter 에서

 

쿠기 및 헤더 관련 보안사항을 

 

한번에 적용해서 반영되게 하는 방법이 있습니다.

 

바로 hooks.php 를 이용하는 방법입니다.

 

설정 방법은 아래와 같습니다.

 

 

1. config/config.php 파일을 열고

 

아래과 같이 enable_hooks 가 false 로 되어있는 부분을 TRUE 로 변경합니다.

$config['enable_hooks'] = TRUE;

 

2. config/hooks.php 파일을 열고 아래 내용을 추가합니다.

$hook['post_controller'][] = function()
{
    // Get CI instance
    $CI =& get_instance();

    // Only allow HTTPS cookies (no JS)
    $CI->config->set_item('cookie_secure', TRUE);
    $CI->config->set_item('cookie_httponly', TRUE);

    // Set headers
    $CI->output->set_header("Strict-Transport-Security: max-age=31536000")
    ->set_header("X-Content-Type-Options: nosniff")
    ->set_header("Referrer-Policy: strict-origin")
    ->set_header("X-Frame-Options: DENY")
    ->set_header("X-XSS-Protection: 1; mode=block");
};

 

3. config.php 파일과 hooks.php 파일을 저장후 사이트를 새로고침 후 개발자 도구로 header 에 반영된 내용을 확인합니다.

 

 

이렇게 하면 설정이 끝납니다!

 

참고로!

 

위에  trict-Transport-Security: max-age=31536000 여기서 max-age 에 대한 항목은 주기를 나타내므로,

 

원하시는 주기만큼 수정하시면 됩니다!

 

그리고 header 에 내용을 추가하고 싶으면 ->set_header 로 한줄더 추가해주시면 됩니다!

 

참고들 하세요!

반응형
Comments