CI 묻고 답하기

제목 codeigniter 에서 https적용 방법 ( form_open)
글쓴이 다클 작성시각 2015/05/29 11:50:42
댓글 : 1 추천 : 0 스크랩 : 1 조회수 : 24918   RSS

로그인 폼에서 태그에서  https변환되어서 로그인 처리후 http로 바꾸려고 합니다.
http로 넘어오는 건 문제가 아닌데요
로그인폼에   form_open  함수를 쓰면 조금 문제가 되네요
 config.php설정은 아래와 같습니다.

 로그인 화면 부터 바로 https로 넘길경우
echo form_open(uri_string(),$attributes);  이렇게 적용하면 문제가 없습니다.

로그인 폼에서 부터 먹게 하기 위해
echo form_open("https//www.test.com:4444/login",$attributes);
하면  아래와 같은 태그가 만들어 지내요  http://www.test.com을 제거 할 방법이나 다른 방법이 없을 까요?
<form action="http://www.test.com/https//www.test.com:4444/login" method="post" accept-charset="utf-8" name="idForm" id="idForm" onsubmit="login()"><div style="display:none">


크로스사이트 스크립트를 막기위해 $config['csrf_protection'] = TRUE; 인 상태이니다.

==config.php===============================
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://" . $_SERVER['HTTP_HOST'];
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? ":4430" : "");
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);

$config['csrf_protection'] = TRUE;
====================================================================================

 

 다음글 특정 라이브러리가 실행되기 전에 hook을 해서 실행을... (1)
 이전글 안녕하세요 구글차트를 쓰려고 하는데 (4)

댓글

변종원(웅파) / 2015/05/29 14:50:27 / 추천 0
매뉴얼 보시면 아시겠지만 base_url은 현재 접속주소를 기반으로 합니다. 그래서 http로 나올 수밖에 없습니다.
그냥 form으로 사용하시고 csrf input 추가해서 쓰시는게 편할겁니다.

아니면 아래 방법 참고해보세요.
http://sajjadhossain.com/2010/08/18/ssl-https-urls-and-codeigniter-extending-the-core/