Web46 [ Apache ] DDoS 공격 대응( evasive 모듈,IP 제한 ) 늦은 저녁 한통의 전화를 받았다. "홈페이지랑 앱이 정보를 못불러와요.." (너무 무셥.. ㄷㄷㄷ) 주중에 추가한 CSRF 보안 기능때문에 생긴 문제인가 생각했다. 하지만 웹에서 확인했을때 접속시간이 현저히 느려졌지만 기능 자체는 문제가 없었다. top 명령어와 nmon 명령어를 이용해서 확인해보니 apache 트래픽이 엄청나게 늘어나있었다. 그래서 /var/log/apache2/access.log 파일을 확인해 보니 1.20.101.120 - - [18/May/2019:11:24:07 +0900] "POST /login HTTP/1.1" 200 27623 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck.. 2019. 5. 20. CodeIgniter 에서 PHPExcel 사용하여 Excel 파일 읽기 PHP에서 사용 가능한 Excel 관련 라이브러리가 많이 있으나 그나마 가장 많이 사용되는 PHPExcel을 사용하여 Excel 파일에서 데이터를 가져오는 기능 구현을 하겠다. 환경 OS : Ubuntu 16.04 PHP : PHP7.0 순서 1. PHPExcel 라이브러리 다운로드 2. Codeigniter 삽입 3. 파일 폼 전송 처리 1. PHPExcel 라이브러리 다운로드 ( https://github.com/PHPOffice/PHPExcel ) - 위 사이트에 접속 후에 ZIP 파일로 다운로드 받는다. - Git 을 사용하여 Clone 받아도 무방하다. 2. Codeigniter 라이브러리 삽입 - 우리는 Classes 안에 있는 PHPExcel 폴더와 PHPExcel.php 파일이 필요하다. .. 2019. 5. 7. 중첩함수, 클로저 JavaScript는 기본적으로 java와 다르게 접근에 대한 권한 설정을 못하는 듯 하다(ㅈㅣ금까지 배운 내용으로는 그러한듯.) 그래서 중첩함수를 통하여 변수 및 함수에 대한 접근을 통제하는 기법이 있다. 위 내용을 본다면 Java의 캡슐화를 중첩함수의 기법에 따라 구현한듯 하다 사용자는 함수의 구체적 내용을 몰라도 circle(5)를 선언한다면 반환값은 area(5)가 실행되어 78.5가 반환되어진다. 말하자마자 클로저란 개념이 나왔다. 클로저란? - 실행될 코드와 함수의 유효 범위, 다시 말해 함수의 호출 객체와 연결된 스코프 체인의 조합 - 함수의 지역변수에 대한 중첩함수를 만들면 비공개 속성과 접근자 메소드를 구현해 객체지향의 정보은닉을 실현할 수 있음 id는 mak.. 2019. 4. 24. [ GitLab ] gitlab-runner build path 재설정하기 gitlab-runner를 연동하다가 build path가 /root 하위 폴더로 잡혀서 웹서버가 권한이 없어서 홈페이지가 안열리는 경우가 있었다. 이미 설정된 gitlab-runner 의 build path를 바꿔보자 1. 설정 파일을 열어준다. vim /etc/gitlab-runner/config.toml 2. builds_dir 속성을 추가해준다. [[runners]] name = "sc_delploy" url = "http://xxx.xxx.xxx.xxx" token = "v12-............4UyA" executor = "shell" builds_dir = "/home/gitlab-runner/build" [runners.cache] [runners.cache.s3] [runners.c.. 2019. 4. 24. 이전 1 ··· 5 6 7 8 9 10 11 12 다음