본문 바로가기
반응형

분류 전체보기240

AJAX를 사용해 JSON데이터를 넘길 때 발생 가능한 보안 위협과 해결방안에 관하여... AJAX를 사용해 JSON데이터를 넘길 때 발생 가능한 보안 위협과 해결방안 1. 크로스 사이트 스크립팅 (XSS): 보안 위협: 공격자가 악의적인 스크립트를 웹 페이지에 삽입하여 사용자의 브라우저에서 실행시키는 공격. 해결 방법: 입력 데이터를 이스케이핑하여 스크립트 실행 방지. Content Security Policy (CSP) 헤더 설정하여 스크립트의 실행을 제한. 2. SQL 인젝션: 보안 위협: 악의적인 SQL 쿼리를 입력하여 데이터베이스에 대한 액세스 권한 획득 및 데이터 유출. 해결 방법: 프리페어드 스테이트먼트나 ORM 사용하여 SQL 인젝션 방지. 입력 데이터 검증 및 이스케이핑. 3. 크로스 사이트 요청 위조 (CSRF): 보안 위협: 사용자의 인증된 세션을 이용하여 사용자가 의도치 .. 2023. 10. 22.
equals, hashcode를 재정의 하는 이유 equals() 메서드 해당 메서드는 대상1 객체와 대상2 객체의 동등성과 동일성을 비교합니다. ※ 동등성 비교: 객체 내부의 값만 비교 ※ 동일성 비교: 객체의 참조값(주소값)과 객체 내부의 값이 모두 일치하는지 비교 hashcode() 메서드 해당 메서드는 실행 후 리턴된 대상1 객체와 대상2 객체의 해시코드값이 일치하는지 비교합니다. ※ 해시코드: 객체를 식별하는 하나의 정수값 ※ 주소값: 메모리상에 객체가 저장된 위치 Object의 hashcode() 메소드는 객체의 메모리 번지를 이용해서 해시코드를 만들어 리턴하기 때문에 객체마다 다른값을 가집니다. 위 예시를 보면 해시코드는 같지만 K1과 K2의 주소는 서로 다르기 때문에 equals() 메서드는 false를 반환합니다. 값 동일성 여부 has.. 2023. 10. 16.
toString을 재정의 하는 이유 toString을 재정의 하는 이유 간결하면서 사람이 읽기 쉬운 형태의 유익한 정보를 반환 객체의 특성에 따라 재정의 시 포매팅 객체가 가진 주요 정보를 모두 반환 재정의 하지 않을 경우, 디버깅 시 클래스 이름이 해시코드로 반환되어 정보를 알기가 어렵습니다. 메서드 재정의 전의 toString() 호출 결과 public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public static void main(String[] args) { Person person = new Person("Alice", 30); System.o.. 2023. 10. 16.
JAVADOC JAVADOC이란? Javadoc(Java Documentation)은 Java 프로그래밍 언어에서 사용되는 주석 형식입니다. 형식 JAVADOC은 /** */ 형식으로 쓰이며, 내부에 코드에 대한 설명을 적습니다. class에 javadoc을 적용 field에 javadoc을 적용 JAVADOC 태그 종류 @param: 메서드의 매개변수에 대한 설명 @return: 메서드의 반환값에 대한 설명 @throws 또는 @exception: 메서드에서 던질 수 있는 예외에 대한 설명 @see: 다른 클래스, 메서드, 필드, 패키지 등과 관련된 참조 @version: 클래스 또는 패키지의 버전 정보 @author: 소스 코드의 저자 @since: 클래스 또는 메서드의 도입 버전 @deprecated: 클래스, .. 2023. 10. 16.
tablespace, schema, user, table 간의 관계 오라클 데이터베이스 기준 데이터베이스, 스키마, 유저, 테이블 간의 관계 테이블 스페이스, 유저, 스키마 테이블 스페이스는 오라클 서버 단위로 생성됩니다. 유저는 하나의 테이블 스페이스를 가질 수 있습니다. 유저가 하나의 테이블 스페이스를 할당 받으면, 해당 테이블 스페이스 내에 자신만의 테이블 생성 공간인 스키마가 생깁니다. 이 공간은 유저의 이름과 매핑됩니다. 테이블 테이블명은 유저 이름 + 테이블명 조합으로 결정됩니다. 만약 SCOTT이라는 유저에 BOARD 라는 테이블이 있다면 해당 테이블은 실제로 SCOTT.BOARD 라는 이름을 갖습니다. SCOTT 유저로 접속했을 때 BOARD 라는 테이블을 검색하면 오라클은 자동으로 접속한 유저에 해당하는 테이블을 조회합니다. 이러한 이유로 같은 테이블 스.. 2023. 10. 15.
복수 요소에 이벤트 리스너 걸기 복수요소 자체에 이벤트 리스너를 거는 것은 불가하며 node 요소의 iterator 속성을 사용해 요소 하나 마다 이벤트 리스너를 걸어주어야 합니다. 타겟 노드를 선택한 후 반복문을 사용해 개별 요소를 변수에 담고, 개별 요소마다 eventListener를 지정하는 방식을 사용할 수 있습니다. 예시 window.onload = () => { let buttons = document.getElementsByClassName('delButton'); for(var i=0;i 2023. 10. 15.
반응형