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] 프로젝트 폴더 생성하기

[Django] 프로젝트 폴더 생성하기

#1 프로젝트 폴더 생성하기

1. Anaconda를 실행하고 프로젝트를 생성할 디렉터리로 이동한다.

2. Anaconda에서 django-admin startproject mysite 명령어를 실행한다.

3. 해당 명령어를 실행하면 mysite라는 프로젝트 폴더가 생성된다.

4. Anaconda에서 mysite프로젝트 폴더로 이동해서 python manage.py runserver명령어를 실행한다.

5. 해당 명령어를 실행하면 로컬 서버가 활성화되며https://127.0.0.1:8000를 통해서 결과 화면을 확인할 수 있다.

웹 서버 실행 성공 시작화면

#2 프로젝트 폴더 구조

mysite라는 이름으로 프로젝트를 시작하면 아래와 같은 파일들이 생성된다. 주요 파일들을 살펴보자. ( django 버전에 따라 생성되는 파일들의 목록이 조금씩 다르다. )

__init__.py : 해당 파일의 위치가 Python패키지 디렉터리임을 명시하는 파일이다. 파일 자체가 위치를 안내하는 역할을 한다.

: 해당 파일의 위치가 Python패키지 디렉터리임을 명시하는 파일이다. 파일 자체가 위치를 안내하는 역할을 한다. settings.py : Django 프로젝트 상의 환경설정을 관리하는 파일.

: Django 프로젝트 상의 환경설정을 관리하는 파일. wsgi.py : Web Server Gateway Interface의 약자로 프로젝트의 웹 서비스를 위한 호환 규격을 명시한 파일. 웹 애플리케이션 가동을 위해 필요한 파일이다.

: Web Server Gateway Interface의 약자로 프로젝트의 웹 서비스를 위한 호환 규격을 명시한 파일. 웹 애플리케이션 가동을 위해 필요한 파일이다. urls.py : Django 프로젝트의 URL을 관리하는 파일이다. 내가 화면에 주소를 부여해서 접속을 가능하게 해준다. 최초 생성 시에는 admin url이 등록되어 있다.

: Django 프로젝트의 URL을 관리하는 파일이다. 내가 화면에 주소를 부여해서 접속을 가능하게 해준다. 최초 생성 시에는 admin url이 등록되어 있다. db.sqlite3 : Django에선 기본적으로 세팅된 DB가 SQLiteDB이며 이를 사용하기 위한 파일이다. 만약 다른 DB를 사용하게 된다면 해당 파일은 필요 없다.

: Django에선 기본적으로 세팅된 DB가 SQLiteDB이며 이를 사용하기 위한 파일이다. 만약 다른 DB를 사용하게 된다면 해당 파일은 필요 없다. manage.py : 웹 서버 실행, DB Model 적용 등 실행 및 관리를 위한 파일.

#3 앱 생성과 구조

Django에서 프로젝트 폴더를 만들었다면 이제 App을 생성해야 한다. App은 프로젝트 내에서 모듈화 된 하나의 프로그램이라고 보면 된다. ex) 게시판 app, 회원가입 app 등...

python manage.py startapp testapp 명령어를 통해서 testapp을 생성해 볼 수 있다. 구조는 아래와 같다.

admin.py : 관리자 페이지에 들어갈 데이터가 어떻게 들어갈 것인지에 대한 정보를 담는다.

: 관리자 페이지에 들어갈 데이터가 어떻게 들어갈 것인지에 대한 정보를 담는다. apps.py : Django 앱에 대한 클래스(Class)를 선언 및 정의하는 파일이다. 클래스 선언과 정의를 통해서 다른 앱을 호출할 수 있다.

: Django 앱에 대한 클래스(Class)를 선언 및 정의하는 파일이다. 클래스 선언과 정의를 통해서 다른 앱을 호출할 수 있다. models.py : DB에 대한 Model을 정의하는 파일이다. 즉, 테이블을 생성(Create) 할 수 있는 파일.

: DB에 대한 Model을 정의하는 파일이다. 즉, 테이블을 생성(Create) 할 수 있는 파일. views.py : Django 앱을 제어하는 View를 정의하는 파일. models.py를 통해 만든 테이블을 호출하여 데이터를 적재할 수 있으며 화면(Template)에서 입력받은 데이터를 가져오거나 반대로 화면에 데이터를 뿌려줄 수 있다.

from http://soojong.tistory.com/57 by ccl(A) rewrite - 2020-03-06 03:54:19

댓글

이 블로그의 인기 게시물

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

django 설치 방법

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