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...

[Python_Django] 앱 만들기 및 DB 테이블 만들고 확인하기

[Python_Django] 앱 만들기 및 DB 테이블 만들고 확인하기

좋아요 -

App(앱)

웹 사이트를 기능별로 구분해놓은 단위를 뜻함

먼저 새로운 앱 하나를 만들려고 하면, 명령 프롬프트 창에서 그 앱이 구현하는 기능을 이름으로 만들면 좋다.

여기서는 게시물을 걸어놓는 판 기능을 만들기 위해 board를 이름으로 만들어 진행한다.

cmd\Desktop\HelloDjango> python manage.py startapp board

이렇게 명령어를 치면

board라는 폴더가 하나 새로 생기게 된다.

그럼 이제 board라는 앱이 새로 하나 생겼다는것을 알려주기 위해

HelloDjango의 settings.py에서 INSTALLED_APPS부분에 만든 앱을 추가해 주어야 한다.

HelloDjango > settings.py

이제 새로 만든 앱인 board의 기능을 위해서 필요한 값들을 정한다.

게시물의 썸네일에는 썸네일 사진 하나에 게시물 제목, 게시물 업로드 시간, 게시물 수정 시간, 게시물 조회 수 등이 필요할 것이다.

그리고 게시물은 그 게시물의 내용이 필요할 것이다.

이런 내용들을 테이블로 만들기 위해서 클래스 형태로 작성해야 한다.

그 전에 클래스 안의 field 정보는 밑의 링크를 참고하여서 만들면 좋다.

https://docs.djangoproject.com/en/3.0/ref/models/fields/#field-types

board > models.py

from django.db import models # Create your models here. class Boards(models.Model): title = models.CharField(max_length = 100) Thumbnail = models.ImageField(upload_to="image") content = models.TextField() view_count = models.IntegerField(default = 0) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)

그리고 이미지 파일을 저장할 때는HelloDjango 폴더안에 settings.py 에서 또 다른 설정을 해주어야 한다.

HelloDjango > settings.py

# 맨 밑에 이 코드를 추가 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

HelloDjango > settings.py

클래스 작성이 다 끝나게 되면, 이제 이 클래스를 테이블 형태로 만들어서 DB에 저장해야 한다.

cmd\Desktop\HelloDjango> python manage.py makemigrations

위의 사진처럼 나오면, board > migrations > 0001_initial.py라는 파일이 하나 만들어 졌을 것이다.

이 파일이 아까의 클래스를 테이블 형태로 만들어 놓은 것이다.

board > migrations > 0001_initial.py

이제 저 파일을 DB에 테이블로 만들면 된다.

cmd\Desktop\HelloDjango> python manage.py migrate

이렇게 해서 별 다른거 없이 다 OK로 끝나면, 성공적으로 Boards라는 테이블이 DB에 만들어 졌다는 것이다.

from http://ludeno-studying.tistory.com/26 by ccl(A) rewrite - 2020-03-07 04:20:53

댓글

이 블로그의 인기 게시물

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

django 설치 방법

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