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] 회원가입

# views.py from django.http import HttpResponse from django.shortcuts import render from django.contrib.auth.hashers import make_password from .models import Fcuser # Create your views here. # templates 폴더를 바라보고 있기 때문에 templates 안에서 찾는다. def register(request): if request.method == 'GET': return render(request, 'register.html') elif request.method == 'POST': username = request.POST.get('username', None) password = request.POST.get('password', None) re_password = request.POST.get('re-password', None) res_data = {} if not (username and password and re_password): res_data['error'] = '값을 입력해야 합니다.' if password != re_password: res_data['error'] = '비밀번호가 다릅니다.' else: fcuser = Fcuser( username=username, password=make_password(password) ) fcuser.save() return render(request, 'register.html', res_data)

request.method를 이용해 GET, POST 방식을 구분한다.

dictionary data type을 이용해 res_data 변수를 선언하고 값이 없을 때, 비밀번호가 다를 때 에러 메세지를 띄운다.

정상적으로 진행될 경우 models.py 에 정의된 Fcuser class를 호출하고 fcuser.save()를 통해 저장한다.

# models.py from django.db import models import datetime # Create your models here. class Fcuser(models.Model): username = models.CharField(max_length=32, verbose_name='사용자명') password = models.CharField(max_length=64, verbose_name='비밀번호') registered_dttm = models.DateTimeField( auto_now_add='True', verbose_name='등록시간') def __str__(self): # 대문자로 변환되지 않고 등록됨 return self.username class Meta: db_table = 'fastcampus_fcuser' verbose_name = '패스트캠퍼스 사용자' # set Model name verbose_name_plural = '패스트캠퍼스 사용자' # 대문자 변환x

register.html 에 에러 메세지를 출력할 column을 만들고 {{ error }} 값을 출력한다.

회원가입 {% csrf_token %} 사용자 이름 비밀번호 비밀번호 확인 등록 {{ error }}

출력화면은 다음과 같다.

from http://kiha-pro.tistory.com/19 by ccl(A) rewrite - 2020-03-06 04:20:23

댓글

이 블로그의 인기 게시물

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

django 설치 방법

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