반응형 개발 이야기46 Request with Signature, Nonce by Using API Key & Secret pair & Validate Request API key와 Secret 을 활용하여 안전한 API 를 구현할 때 Signature와 Nonce의 원리를 이용하면 쉽게 구현할 수 있다. Nonce는 쉽게 생각하면 요청 ID로 생각할 수 있으며, 이전 요청의 Nonce값 보다 다음 요청의 Nonce 값이 커져야 한다. (가장 쉬운 방법은 아래 코드처럼 타임스탬프를 이용하면 된다.) Nonce가 필요한 이유는 공격자가 클라이언트의 요청을 훔쳐서 그대로 서버에 요청을 보내는 경우, Nonce 값이 커지지 않고 똑같기 때문에 서버가 두 번째 요청을 거절할 수 있다. 그럼 클라이언트의 요청을 훔쳐서 Nonce만 높여서 보내는 경우에는 탈취가 가능하지 않나? 맞다. 그렇기 때문에 Signature가 필요하다. 서버에서 API key와 Secret을 발급할 때.. 2020. 12. 30. Django Custom User Model & Custom Authentication django의 기본 유저 모델을 사용하면 간단한 사이트 구현은 어렵지 않게 할 수 있으나, 세부적인 유저 정보들을 더 담고 싶고, 로그인 등의 인증 방식을 더 다양하게 만들고 싶은 경우에는 커스텀화된 모델과 authenticate 함수를 구현하는 것이 좋다. 이번 예제에서는 django.contrib.auth.models 에 정의된 User 관련 모델이 아니라 아예 다른 django.db.models 의 Model 만을 이용하여 로그인/로그아웃 등의 auth 플로우를 구현한다. 본 글은 django 1.11.4 기반으로 작성하였다. 프로젝트 구성 MyApp - MyApp - settings.py - urls.py - account - views.py - urls.py - models.py - tests... 2020. 12. 30. django-extensions, jupyter 를 활용하여 브라우저로 django code 접근하기 필요 패키지 설치하기 >> pip install django-extensions >> pip install jupyter 비밀번호 설정하기 >> ipython from IPython.lib import passwd passwd() >> Enter password: >> Verify password: 설정 파일 만들기 >> jupyter notebook --generate-config Writing default config to: {path}/.jupyter/jupyter_notebook_config.py >> sudo vim {path}/.jupyter/jupyter_notebook_config.py # jupyter_notebook_config.py c.NotebookApp.ip = '0.0.0.0'.. 2020. 12. 14. 디렉토리 용량 구하기 du /path/to/calc 2020. 12. 10. Fabric 을 이용하여 쉽고 편한 배포하기 파이썬 프로젝트를 배포할 때 우분투 서버에 직접 접속하여 git pull, 서비스 종료, 서비스 시작 등의 커맨드를 일일이 치는 것보다, 뭔가 스크립트 하나로 쉽게 배포하면 얼마나 좋을까를 고민할 때 쓸 수 있는 파이썬 패키지로 fabric이 있다. fabric을 사용하면 서버에 ssh 접속을 하지 않아도, 스크립트가 알아서 ssh 접속을 한 뒤 미리 정의해둔 명령어들을 자동으로 입력해준다. from fabric.api import * env.roledefs = { 'dev': ['user@dev-example.com',], 'release' : ['user@example.com',] } @roles('dev') def dev(): deploy("dev") @roles('release') def rele.. 2020. 12. 10. Hyperledger Study (2) - Hyperledger Fabric with Composer Hyperledger Composer hyperledger composer(이하 컴포저)는 초보자가 패브릭을 좀 더 쉽게 사용할 수 있도록 도와주는 툴이다. 패브릭을 이용하기 위해서는 어려운 개념 습득들이 필요하고, 각 요소마다 각종 명령어를 구사해야 하기 때문에, 시작하기가 어려운 편인데 패브릭을 활용하면 조금 더 쉽게 hyperledger 구성을 할 수 있다. 컴포저 튜토리얼 링크: https://hyperledger.github.io/composer/latest/tutorials/developer-tutorial 튜토리얼은 Window PC에서 VMWare를 활용하여 우분투 16.04(hyperledger fabric 추천 OS) 에서 진행했다. Installation Install for Pre-.. 2020. 12. 10. 이전 1 ··· 3 4 5 6 7 8 다음 반응형