CI4 56

[코드이그나이터] .ajax를 이용 / back단 쿠키생성이 정상적으로 이뤄지지 않은경우 확인사항

가끔 jquery 에서 .ajax형태로 back단으로 데이터를 전달하고 결과값을 받는 형태에서 정상적으로 쿠키값이 구워지지 않는 현상이 발생함 test.html $("#login-form").ajaxForm({ dataType: 'json', headers: { 'X-Requested-With': 'XMLHttpRequest' }, /*... */ process.php $cookie_agent = array( 'name' => 'auto_login_agent', 'value' => $agent->getAgentString(), 'expire' => 86400 * 30 ); $response->setCook..

CI4 2020.09.24

[코드이그나이터] form_open() 헬퍼 함수 사용시 경로에 추가된 index.php 제거하기

app\Config\App.php // $indexPage 변수의 값을 제거한다. // public $indexPage = 'index.php'; /* |-------------------------------------------------------------------------- | Index File |-------------------------------------------------------------------------- | | 일반적으로 다른 이름으로 변경하지 않는 한 index.php 파일이됩니다. | mod_rewrite를 사용하여 페이지를 제거하는 경우이 변수를 | 공백으로 설정하십시오. | */ public $indexPage = '';

CI4 2020.09.11

[코드이그나이터] CSRF 필터 활성화

CSRF 필터 정의 [$globals] 출처: http://ci4doc.cikorea.net/incoming/filters.html?highlight=csrf%20%ED%95%84%ED%84%B0#id10 기본적으로 form 헬퍼를 연결하면 form_open() 이용하면 자동으로 CSRF 가 적용될거라 생각했지만 예상외로 자동 적용이 되지 않음 CSRF 필터를 활성화 해야함 app\Config\Filters.php // $globals에 기본적으로 csrf 가 주석처리가 되어 있음. 주석을 해제하면 // form_open() 이용시 CSRF 가 활성화가 됨 public $globals = [ 'before' => [ 'csrf' ], 'after' => [] ]..

CI4 2020.09.11

[코드이그나이터] 전화번호의 숫자만 취한 후 중간에 하이픈(-) 삽입 헬퍼 함수

if (!function_exists('format_phone')) { /** * 전화번호의 숫자만 취한 후 중간에 하이픈(-) 삽입 * * @param string $tel 전화번호 * * @return string */ function format_phone(string $tel) { $tel = str_replace('-', '', $tel); $tel = preg_replace("/[^0-9]/", "", $tel); if (substr($tel, 0, 2) == '02') { return preg_replace("/([0-9]{2})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel); } else if (..

CI4 2020.09.11

[코드이그나이터] 파일 라이브러리

파일 라이브러리 출처: http://ci4doc.cikorea.net/libraries/files.html 파일 인스턴스 얻기 $file = new \CodeIgniter\Files\File($path); 파일 인스턴스 메서드 // 파일명 호출 echo $file->getBasename(); // 마지막 수정시간 호출 echo $file->getMTime(); // 파일 실제 경로 호출 echo $file->getRealPath(); // 파일 퍼미션 호출 echo $file->getPerms(); // CSV형태로 생성 if ($file->isWritable()) { $csv = $file->openFile('w'); foreach ($rows as $row) { $csv->fputcsv..

CI4 2020.09.08

[코드이그나이터] 세션 라이브러리

세션 라이브러리 출처: http://ci4doc.cikorea.net/libraries/sessions.html 세션 초기화 $session = \Config\Services::session($config); $session = session(); 세션 데이터 검색 /* 세션 데이터 검색 방법 $_SESSION['item'] $session->get('item'); $session->item session('item'); */ $name = $_SESSION['name']; // or: $name = $session->name // or: $name = $session->get('name'); 모든 세션 데이터 호출 $_SESSION..

CI4 2020.09.08

[코드이그나이터] User Agent 클래스

User Agent 클래스 출처: http://ci4doc.cikorea.net/libraries/user_agent.html User Agent 클래스는 브라우저, 모바일 장치 또는 사이트를 방문하는 로봇에 대한 정보를 식별하는 데 도움 클래스 초기화 $agent = $this->request->getUserAgent(); isBrowser([$key = NULL]) Parameters: $key (string) – 선택적 브라우저 이름 Returns:User Agent가 (지정된) 브라우저인 경우 TRUE, 그렇지 않으면 FALSE Return type: bool if ($agent->isBrowser('Safari')) { echo 'You are using Safari.&#3..

CI4 2020.09.07

[코드이그나이터] 암호화

암호화 서비스 출처: http://ci4doc.cikorea.net/libraries/encryption.html 암호화 라이브러리 사용 CodeIgniter의 모든 서비스와 마찬가지로 Config\Services를 통해 로드 $encrypter = \Config\Services::encrypter(); $plainText = 'This is a plain-text message!'; $ciphertext = $encrypter->encrypt($plainText); // Outputs: This is a plain-text message! echo $encrypter->decrypt($ciphertext); 라이브러리 환경설정 app/Config/Encryption.php에 있는 환경설정..

CI4 2020.09.07