반응형

분류 전체보기 875

[보안취약점] Missing Anti-clickjacking Header in spring security

OWASP ZAP 실행 시 발생하는 취약점으로, 자세한 내용은 다음과 같습니다. OWASP ZAP 내용 1) 설명 The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks. 2) 해결 Modern Web browse..

back end/java 2023.02.15

Spring Security 중복 로그인 방지하는 방법

1. SecurityConfig에 다음과 같이 추가 @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { /* 중간 생략 */ http .sessionManagement() .sessionFixation().changeSessionId() .maximumSessions(1) .maxSessionsPreventsLogin(true) ; http.logout() .logoutRequestMatcher(new A..

back end/java 2023.02.14

[Windows] 브라우저에서 프로그램 실행하는 방법(Custom Uri Scheme)

인터넷을 하다 보면 URL 링크나 버튼을 누르면 프로그램이 실행되는 경우가 있습니다. ActiveX도 이제 못쓰는데 어떻게 하는 것일까요? 결론은 모두 URI Scheme를 사용하는 것이었습니다. URI Scheme 우리가 일반적으로 볼 수 있는 인터넷 주소 중 시작부터 ':'(콜론)까지의 정보가 URI Scheme입니다. https://www.naver.com ftp://192.168.0.1 기타 URI Scheme에 대한 정보는 여기에서 확인할 수 있습니다. Custom URI Scheme 공식적으로 관리되는 URI Scheme 외에 사용자가 직접 URI Scheme를 만들 수도 있습니다. 대부분의 OS에서 URI Scheme를 직접 등록하고 설정할 수 있도록 지원하고 있으며 Andriod, iOS,..

OS/Windows 2023.02.13

javascript jsdoc에서 일반 변수가 아닌 json object를 표현하는 방법

프로그래밍에서 주석은 정말 중요합니다. 주석을 잘 써놓으면 정말 도움이 많이 됩니다. 오픈소스 라이브러리를 사용할 때나, 다른 사람과의 협업에서도 주석을 보며 일을 합니다. /** * 숫자를 더한다. * @param number1 숫자 1 * @param number2 숫자 2 * @returns {*} 숫자1 + 숫자 2 */ function plus(number1, number2) { return number1 + number2; } 이런 코드와 주석이 있다면 이 함수를 사용하는 부분에서 아래처럼 표시가 됩니다. object 형태의 파라미터(매개변수)를 표현하는 방법은 여러 가지가 있습니다. 방법 1. /** * 두개의 숫자를 더한다. * @param json * @param json.number1 ..

[java] gradle로 runnable jar 생성하는 방법

Eclipse의 경우 기본 java 프로젝트는 "Export..."를 통해 runnable jar를 만들었지만, gradle을 사용할 경우 "Export..."를 사용할 수 없습니다. 이 경우 다음과 같이 진행할 수 있습니다. gradle로 runnable jar 생성하는 방법 1. build.gradle에 shadow plugin 추가 plugins { id 'com.github.johnrengelman.shadow' version '6.1.0' } 2. build.gradle에 다음 코드 추가 jar { finalizedBy shadowJar manifest { attributes 'Main-Class': 'com.gradle.TestClass' } } 3. gradle clean, gradle bu..

back end/java 2023.02.09

[java] mssql(SQLServer)에서 datetime2 자료형 날짜 표시 2일 오차 발생하는 문제 해결방법

현상 datetime 자료형으로 설정된 컬럼은 문제없는데, datetime2로 설정된 컬럼을 JPA로 쿼리 하여 LocalDateTime에 넣었을 경우 날짜 2일 오차 발생 SSMS에서 같은 쿼리 실행 시, 날짜 정상 표시 ex) 2023-02-09 00:00:00 -> 2023-02-07 00:00:00 으로 표시 환경 Windows Server 2016 SQLServer 2016 Spring boot JPA 원인 java7이 포함된 SQL Server의 JDBC버전에 문제가 있습니다. 링크에는 3버전이 문제라고 되어있지만, 4 버전도 같은 문제가 있습니다. https://support.microsoft.com/kb/2652061 KB2652061 - FIX: SQL Server JDBC Driver ..

back end/java 2023.02.09

mssql DAC 연결

DAC란? SQL Server는 서버에 대한 표준 연결이 불가능할 때 관리자에게 특별 진단 연결을 제공합니다. 이 진단 연결을 통해 SQL Server 가 표준 연결 요청에 응답하지 않은 경우에도 SQL Server에 액세스 하여 진단 쿼리를 실행하고 문제를 해결할 수 있습니다. DAC(관리자 전용 연결)는 SQL Server의 암호화 및 다른 보안 기능을 지원합니다. DAC는 사용자 컨텍스트를 다른 관리자로 변경하는 작업만 허용합니다. SQL Server Management Studio(SSMS)에서 DAC를 설정하는 방법 개체 탐색기와 열려 있는 모든 쿼리 창을 포함하여 관련 SQL Server 인스턴스에 대한 모든 연결을 끊습니다. 메뉴에서 파일 > 새로 만들기 > 데이터베이스 엔진 쿼리를 선택합니..

'org.springframework.web.servlet.handler.HandlerInterceptorAdapter' is deprecated

Spring 5.3 버전 이상에서 HandlerInterceptorAdapter를 사용하려고 하면 다음과 같이 화면에 표시됩니다. 즉, HandlerInterceptorAdapter는 Spring 5.3 이상 버전부터 더이상 사용하지 않습니다. 대신 다음과 같이 HandlerInterceptor를 implements 해서 사용해야 합니다. public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return HandlerInt..

back end/java 2023.02.06
728x90
반응형
loading