반응형

분류 전체보기 877

[PHP] eval 함수의 위험성

mixed eval ( string $code_str ) (PHP 4, PHP 5) 이 함수는 php코드를 평가하기 위해 사용됩니다. 예를 들면, 다음의 결과로 이해할 수 있을 것입니다. 예제(ex #1 작은따옴표에 의한 값은 보통 일반 텍스트 문자로 처리되지만, eval 함수를 사용하게 되면 php 코드로 해석, 실행해 버립니다. 그래서 간혹 개발자는 편의상 디비에 저장해 두었던 php 코드 데이터를 읽어 와서 eval 함수로 php 코드로 사용하곤 합니다. 이는 분명 편리하기는 하지만 문제가 있습니다. 만약, eval 함수가 악의적인 사용자에게 노출되면 매우 위험해진다는 점을 이해할 필요가 있습니다. 예를 들어, $str 변수가 변질이 되면 공격자는 서버뿐만 아니라 모든 데이터를 훼손할 우려가 있습니..

[svn] visualsvn server backup/restore

백업 svnadmin dump 명령 1.svnadmin dump repository-location > dump.file Visual SVN 일괄 백업 하기 도스 배치 파일을 이용하여 SVN 저장소들을 일괄 백업 하는 스크립트를 작성해 보았다. Visual SVN 저장소 루트 경로: C:\Repositories dump 파일 명: 저장소명.dump 백업 파일 폴더: C:/BACKUP echo off echo Back SVN to C:/BACKUP pushd C:\Repositories for /d %%i in (*) do echo dump %%i & svnadmin dump %%i > C:\BACKUP\%%i.dump popd ※ pushd : 현재 디렉터리를 변경 ※ popd: pushd를 수행한 폴더..

[java] dynamic getter, setter

개발을 하다보면 부득이하게 동적으로 class에 값을 넣거나 값을 가져와야 할 경우가 있습니다. 아래와 같이 class.getDeclaredField() 를 사용하면 손쉽게 할 수 있습니다. public class TAllSaveThsusBean { /** * Desc : Refection을 활용한 Getter/Setter */ public ArrayList ReflectionGF(ArrayList objAL) throws Exception { try { //VALL 객체 : Value Object로 Getter, Setter를 가지고 있음 VALL v_condition = 화면에서 넘겨 받은 값 VO : 조건값 ArrayList v_save1 = 화면에서 넘겨 받은 값 VO : 저장할 VO이면서 여러레..

웹 개발 2019.07.18

[Querydsl] 동적으로 where 만들기

먼저, 여기에서 말하는 동적 where는 아래와 같은 where절을 의미합니다. WHERE userName = '홍길동' AND ( age = 24 or telno = '010-1111-2222' ) Querydsl에서는 BooleanBuilder를 사용하여 이와 같은 복합 검색조건을 만들 수 있습니다. 방법 1) and를 기준으로 괄호를 구분 ( and가 나오면 새로운 괄호의 시작 ) ex) and roleCode = 1 and ( roleName = 2 or roleDesc = 3 ) String temp = "{\"keyword_0\":{\"selectType\":\"roleCode\",\"andOr\":\"and\",\"select\":\"ROLE-000\",\"input\":\"\",\"rule..

[Querydsl] CASE WHEN 사용하기

Querydsl에서 CASE WHEN을 사용하기 위해서는 CaseBuilder()를 사용하면 됩니다. 사용 방법은 아래를 참고하시면 됩니다. 예1) Expression cases = new CaseBuilder() .when(c.annualSpending.gt(10000)).then("Premier") .when(c.annualSpending.gt(5000)).then("Gold") .when(c.annualSpending.gt(2000)).then("Silver") .otherwise("Bronze"); 예2) import static kr.com.wow.QTbUser; // 클래스 및 함수 선언부 생략 JPAQuery query = jpaQueryFactory .from(tbUser) .select(..

728x90
반응형
loading