2020년 3월 25일 보안정보 스크래핑

2020년 3월 25일 보안정보 스크래핑 3월 25일 보안정보 스크래핑 ==================================================================== + 주요 취약점 - 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 외 1건 1. 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 최근 OpenSMTPD* 취약점이 발견되는 등 메일전송 프로토콜에서 원격 명령어 실행이 가능하여 주의를 권고함 공격자는 취약점을 악용하여 피해를 발생시킬 수 있으므로, 해결방안을 참고하여 조치 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35302 2. Django 제품 SQL Injection 취약점 보안 업데이트 권고 최근 Django*에서 SQL Injection취약점(CVE-2020-9402)을 악용할 수 있는 개념증명코드(Proof of concept, PoC)가 인터넷상에 공개되어 사용자의 보안 업데이트 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35301 ==================================================================== + 취약점 - Apple Safari 취약점 1. Apple Safari 취약점 Apple Safari security bypass CVE-2020-3885 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178339 Apple Safari security bypass CVE-2020-3887 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178338 Apple Safari inform...

[Django] 프로젝트 앱 등록 및 모델(Model) 만들기와 Migrations

[Django] 프로젝트 앱 등록 및 모델(Model) 만들기와 Migrations

프로젝트에 앱 등록 및 앱 내부에 모델을 생성해보도록 하겠습니다.

프로젝트에 앱 등록하는 이유

프로젝트에 앱을 등록해줘야 django가 인식을 해줌

또한 뷰와 모델 등을 사용할 수 있음

settings에 앱 등록하기

papa_community 프로젝트 폴더에서 settings.py 파일로 들어갑니다.

코드를 보면 INSTALLED_APPS가 있습니다.

기본적으로 Django에서 제공되는 앱들이 있습니다.

이 안에 본인이 만든 앱들을 작성해줍니다.

저는 papa_user 앱을 새로 생성했습니다.

그리고 꼭 저장해주세요!

모델(Model) 만들기

모델

데이터베이스와 연동하는 부분

데이터베이스(DB)에 쌓아줄 데이터의 기준 을 만들어 줌

을 만들어 줌 모델 내의 모든 클래스(Class)는 models.Model을 상속 받음

클래스를 이용해서 모델을 채웁니다!

papa_user 앱에서 클래스를 생성합니다.

Class 생성

장고에서 제공하는 models.Model을 상속해야함

필드 이름과 특정 설정 값, table 선언 등으로 이루어짐

username, password, registered_dttm

필드 이름, 데이터가 들어가는 곳

models.CharField

상속받은 models에서 CharField 속성을 이용

필드에서 사용하는 특정 설정값 (문자열)

max_length : 최대값 설정

verbose_name : 필드에 대한 명명 (관리자 페이지에서는 username이 아닌 사용자명으로 보임)

models.DateTimeField

날짜와 시간을 가져오는 필드 속성

auto_now_add : 저장하는 순간의 시간을 저장

Class meta

papauser Class에서 나오는 데이터가 어떤 이름의 테이블에 저장되는지 정의

기본적으로 생성되는 앱들과 구분해서 테이블명을 만들기 위해 직접 작성

db_table = 'papa_user_table' : 앞으로 저장되는 데이터는 'papa_user_table'이라는 DB 테이블에 저장

이제 모델을 다 작성해줬으니, Django에게 모델을 만들었다는 것을 알려줘야 합니다.

Migration을 이용합니다.

Migrations

모델 클래스의 수정 및 생성을 DB에 적용하는 과정

모델 변경 내역을 관리

python3 manage.py makemigrations

명령어를 치면 아래와 같이 papa_user 앱을 migration한다고 나옵니다.

자동적으로 migration 파일을 생성합니다.

python3 manage.py migrate

migration 파일을 DB에 적용하는 명령어

settings에서 등록된 앱들이 사용하는 테이블을 자동으로 생성

db.sqlite3이 생성

앱 설정을 안해주면 migrate를 할 수 없음

migrate가 잘 됬다면 위와 같은 화면이 보입니다.

DB 접속 및 테이블 확인

DB 접속

그러면 이제 DB에 테이블이 잘 생성이 됐는지 확인해 보겠습니다.

sqlite3 db.sqlite3

위의 명령어를 이용해서 DB에 접속합니다.

테이블 확인

.schema papa_user_table

위의 명령어는 table의 구조를 확인하는 명령어입니다.

아까 Class에서 입력한 내용들이 SQL 구문 형식으로 바뀌어서 schema(구조)가 저장됩니다.

앱 등록, 모델 만들기, Migration 과정을 봤습니다.

앞으로 앱과 모델들이 많이 생성될 것 같으니,

이 과정은 머리에 잘 넣어두고 공부해야 될 것 같습니다!

감사합니다 :)

from http://greatpapa.tistory.com/17 by ccl(A) rewrite - 2020-03-12 19:54:17

댓글

이 블로그의 인기 게시물

엑스브레인(XBrain) 기업 정보

django 설치 방법

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기