분류 전체보기53 PHP 리팩토링(1) 리팩토링 (1) 고객측에서 리팩토링 의뢰가 들어왔다. 기존 누군가가 짜논 코드를 효율좋게 고치라는 미션이다. 본격적으로 시작하기 앞서 몇가지 필요하다고 생각하는 기법들을 찾아서 참고하려고 하려고 한다. 기법은 마틴 파울러의 리팩토링을 근간으로 하려고 한다. 1. 마법숫자를 상수로 전환 클래스 밖에서 사용할 때 define("LOCAL", "1");define("DEV", "2");define("REAL", "3"); 클래스 안에서 선언할 때 class MyClass {const MIN_VALUE = 0.0; } 2. 절차코드를 객체로 전환각 레코드타입을 읽기 / 쓰기 메소드만 있는 덤 데이터 객체로 변경모든 절차코드를 하나의 클래스에 넣기메소드를 static 로 . 싱글턴 활용 3. 메서드 추출 기법 사.. 2015. 6. 4. Laravel 5 루트 설정 AWS 에 아파치2.4 를 돌리고 있는데, 거기다가 laravel 5 를 배치했다. 하지만 허거덩, 찾을 수 없는 경로 에러가 나면서 안되는 것이었다. 좀 찾아본 결과. http://127.0.0.1/laravel/public/index.php/home 이런식으로 index.php 를 넣어야 그 담부터 처리를 하고 있었다. 뭐...당연한 프레임워크의 사양일 수도 있는데,index.php 다음으로 라우트를 처리하는 것은 꼴베기 싫기 때문에 sudo vi /etc/httpd/conf/httpd.conf 를 조금 손보기로 했다. 132 # 133 # Possible values for the Options directive are "None", "All", 134 # or any combination of: .. 2015. 5. 30. [PHP 보안] 2. 웹 어플리케이션 보안 (2) 지난 회에 이어서 보안에 관련된 내용. 1. 세션 고정 공격 - 임의의 세션ID 를 강제적으로 이용하여 공격하는 방법. 로그인 후에 세션을 발행 혹은 재발행 함으로써 세션을 체크하여 대응한다.로그인 전과 후의 세션을 다르게 하여 세션 고정 공격을 막아본다. 세션ID 는 쿠키에서만 관리한다. 2015. 5. 9. [PHP 보안] 2. 웹 어플리케이션 보안 1. 우선 기본이 되는 것은 폼 검증이다. - 필수입력 항목 체크 - 입력내용 체크 - 유효 입력 범위 체크 - 제외해야 할 입력 체크 2. php DocumentRoot 권한 설정 3. 스크립트 삽입공격 - 바이러스를 설치하기 위한 리다이렉트 - 쿠키값을 뽑아내, 사이트 관리자권한으로 들어오기 GET 으로 들어온 값을 문자열을 이스케이프 시킨다.htmlspecialchars(get_post_data($id), ENT_QUOTES, 'UTF-8'); 4. XSS (Cross Site Scripting) 복수개의 사이트에서 악성코드 실행을 시킴으로써 공격하는 방법.- 취약성 GET 으로 javascript 코드를 삽입시켜 실행시켜버림. GET 으로 들어온 값을 바로 쓰지말고, htmlspecialchars.. 2015. 5. 9. 이전 1 ··· 5 6 7 8 9 10 11 ··· 14 다음 반응형