본문 바로가기

반응형

분류 전체보기

(650)
[ PostgreSQL ] PRIMARY KEY - 식별자 Key 사용하기 PostgreSQL에서 PRIMARY KEY 사용법PRIMARY KEY는 데이터베이스에서 테이블의 각 행을 고유하게 식별하는 데 사용되는 제약 조건입니다. PRIMARY KEY가 지정된 컬럼(또는 컬럼들)은 다음과 같은 특징을 가집니다:유일성: PRIMARY KEY 제약을 지정한 컬럼은 중복된 값을 가질 수 없습니다.NULL 불허: PRIMARY KEY는 NULL 값을 허용하지 않습니다. 즉, 반드시 고유한 값이 있어야 합니다.단일 컬럼 또는 복합 컬럼으로 사용할 수 있습니다.테이블당 하나만 지정할 수 있습니다. (복합 PRIMARY KEY를 사용할 수 있지만, 단일 PRIMARY KEY는 한 테이블에 하나만 지정할 수 있습니다.)PRIMARY KEY 사용법테이블 생성 시 PRIMARY KEY 설정테이블..
[ PostgreSQL ] UNIQUE - 중복값 제한하기 PostgreSQL에서 UNIQUE는 데이터베이스 테이블에서 특정 컬럼(또는 컬럼들의 조합)에 대해 중복된 값을 허용하지 않도록 하는 제약 조건입니다. 이를 사용하여 데이터 무결성을 보장할 수 있습니다.UNIQUE 제약 조건은 테이블을 생성할 때 컬럼에 직접 추가하거나, 이미 생성된 테이블에 나중에 추가할 수도 있습니다.UNIQUE 제약 조건 사용법테이블 생성 시 사용테이블을 생성할 때 컬럼에 UNIQUE 제약을 지정할 수 있습니다.기존 테이블에 UNIQUE 제약 추가이미 생성된 테이블에 UNIQUE 제약을 나중에 추가할 수도 있습니다.예제 1: 테이블 생성 시 UNIQUE 제약 사용CREATE TABLE users ( user_id SERIAL PRIMARY KEY, email VARCHAR..
[ Ubuntu ] apt install - 오프라인으로 pip 앱 설치하기 Ubuntu에서 인터넷 연결 없이 오프라인으로 pip를 설치하려면 다음 단계들을 따라 하시면 됩니다.1. pip 패키지 파일 다운로드먼저 인터넷이 연결된 컴퓨터에서 필요한 pip 패키지 파일을 다운로드합니다.pip의 최신 버전을 다운로드합니다: wget https://bootstrap.pypa.io/get-pip.py다운로드된 get-pip.py 파일을 USB 등 이동식 저장장치에 복사합니다.2. 오프라인 시스템으로 파일 이동인터넷이 없는 시스템(오프라인 시스템)으로 이동식 저장장치를 사용해 get-pip.py 파일을 복사합니다.3. 오프라인 시스템에서 pip 설치오프라인 시스템에서 다음 명령어를 통해 pip를 설치합니다:python3 get-pip.py이 스크립트는 pip 설치에 필요한 패키지를 자..
[ PostgreSQL ] NOT NULL - 빈값을 허용하지 않는 column 만들기 NOT NULL 제약 조건은 PostgreSQL에서 특정 컬럼이 NULL 값을 가질 수 없도록 설정하는 제약 조건입니다. 이 조건을 추가하면, 해당 컬럼에는 반드시 값이 있어야 하며, 데이터 입력 시 NULL을 허용하지 않습니다.1. NOT NULL 사용법NOT NULL은 테이블을 생성할 때, 컬럼 정의에 추가하여 사용합니다. 이미 생성된 테이블에도 ALTER TABLE 문을 통해 NOT NULL 제약 조건을 추가할 수 있습니다.기본 사용 예제 (테이블 생성 시)CREATE TABLE employees ( id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, age INTEGER NOT NULL, department VARCHAR(50));위 예제..
[ PostgreSQL ] CAST - query시 형변환 하기 PostgreSQL에서 CAST 연산자는 데이터를 다른 데이터 타입으로 변환할 때 사용됩니다. 이는 특정 연산에서 데이터 타입이 호환되지 않거나 특정 형식으로 데이터를 다뤄야 할 때 유용합니다. PostgreSQL은 다양한 형식의 데이터를 다른 형식으로 변환할 수 있는 CAST 연산자를 제공합니다.1. CAST 연산자의 기본 구문CAST 연산자는 다음과 같은 두 가지 형태로 사용할 수 있습니다:CAST (value AS target_type)value::target_type (PostgreSQL의 고유 문법)두 가지 모두 동일하게 작동하지만, :: 문법은 간결하게 표현할 수 있어 자주 사용됩니다.2. 기본 사용 예제숫자형 -> 문자열 변환SELECT CAST(123 AS TEXT);-- 또는SELECT ..
[ 보안 ] Cookie - SameSite - 보안 설정하기 SameSite 속성은 웹 애플리케이션에서 쿠키의 보안을 강화하는 데 사용됩니다. 주로 사이트 간 요청 위조(CSRF) 공격을 방지하기 위해 사용되며, 다음과 같은 옵션이 있습니다:SameSite=Strict: 쿠키를 발급한 사이트에서만 접근할 수 있으며, 다른 사이트에서 접근하는 모든 요청에 대해 쿠키가 전송되지 않습니다. 가장 안전한 설정이지만 사용성 측면에서는 제한적입니다.SameSite=Lax: 기본 옵션으로, 쿠키가 외부 사이트에서의 GET 요청에는 전송되지만 POST 요청에는 전송되지 않습니다. 보안성과 접근성의 균형을 맞추는 설정입니다.SameSite=None: 모든 요청에 대해 쿠키가 전송되도록 하며, 특히 서드파티 쿠키를 사용하는 경우 필요합니다. 이 경우 Secure 속성을 함께 설정해..
[ 보안 ] Content-Security-Policy - 보안 설정하기 브라우저 설정에서 Content-Security-Policy(CSP)를 설정하지 않았을 때의 보안 위험Content-Security-Policy를 설정하지 않으면 웹 애플리케이션이 다양한 보안 위협에 노출될 수 있습니다. 주요 보안 위험은 다음과 같습니다.Cross-Site Scripting (XSS) 공격: 악성 스크립트가 사용자 브라우저에서 실행되어 세션 하이재킹, 피싱, 민감한 데이터 도용 등을 유발할 수 있습니다.데이터 인젝션 공격: 공격자가 악성 데이터를 삽입해 권한 없는 접근이나 데이터 누출을 시도할 수 있습니다.악성 콘텐츠 주입: 외부에서 삽입된 악성 자바스크립트, 스타일, 이미지 등이 허용되어 사용자에게 유해한 영향을 줄 수 있습니다.Clickjacking: 사용자가 클릭할 의도가 없는 링..
[ Security ] IP 포워딩 비활성화 확인하기 Linux에서 IP 포워딩을 활성화할 때 발생할 수 있는 보안 이슈는 다음과 같습니다.1. 보안 이슈1. 라우터로서의 비의도적 동작IP 포워딩이 활성화된 시스템은 네트워크 트래픽을 전달하는 라우터처럼 동작할 수 있습니다. 이를 통해 의도치 않게 내부 네트워크의 데이터가 외부로 유출될 수 있으며, 네트워크 분리를 무력화할 수 있습니다.2. 맨 인 더 미들(Man-in-the-Middle) 공격IP 포워딩을 악용해 네트워크 트래픽을 가로채고 조작할 수 있습니다. 공격자는 패킷을 수정하거나 민감한 정보를 추출할 수 있으며, SSL 스트립핑, DNS 스푸핑 등 여러 유형의 MITM 공격이 가능합니다.3. 스푸핑 공격공격자가 IP 포워딩을 이용해 스푸핑한 IP 주소로 다른 네트워크로 패킷을 전달할 수 있습니다. ..

반응형