반응형
하드코딩을 하는 이유
가끔씩 개발 테스트할 때 시스템이 연동되고 있는지 확인하거나 연동 후 결괏값이 잘 반영되었는지 확인하기 위해 하드코딩을 하는 경우가 있다.
또는 내부 시스템이 고정 코드값을 갖고 있어야 연결되는 경우 하드코딩을 하는 경우가 있다.
이런 이유로 하드코딩을 하고 있지만 노출될 때 피해는 무척 크다.
하드코딩 적용했을 때 보안 방안
DB서버 연동을 하기 위해서 어쩔 수 없이 IP와 같은 정보를 입력하는 경우에 대한 보안조치가 있다.
안전한 암호화 방식으로 변환 후 별도 분리 공간(파일)에 저장하고 복호화하는 방법이다.
파이썬 코딩 예시
import pymysql
import json
def query_execute(query, config_path):
with open(config_path, 'r') as config:
# 설정파일에서 user, passwd 사용
dbconf = json.load(fp=config)
# 암호화되어 있는 블록암호화 키를 복호화 해서 가져오는 함수
blockKey = get_decrypt_key('blockKey')
# 설정파일에 암호화되어 있는 값을 가져와 복호화한 후 사용
dbUser = decrypt(blockKey, dbconf['user'])
dbPasswd = decrypt(blockKey, dbconf['passwd'])
dbconn = pymysql.connect(host=dbconf['host'], port=dbconf['port'], user=dbUser, passwd=dbPasswd, db=dbconf['db_name'], charset='utf8')
curs = dbconn.cursor()
curs.execute(query)
dbconn.commit()
dbconn.close()
정리
1. 하드코딩 데이터는 별도 방식으로 암호화하여 저장
2. 암호화된 정보를 호출하여 복호화함
3. 복호화 후 바인딩하여 접근권한 체크
반응형
'IT > 앱사용방법' 카테고리의 다른 글
엑셀 멈춤현상 해결방법 3가지 (0) | 2022.10.17 |
---|---|
컴퓨터 부팅 애러 해결(Press F1 to continue 메시지 나올 때) (0) | 2022.09.18 |
윈도우10(windows10) 안전 모드 진입 방법 (0) | 2022.08.30 |
인터넷 창 복구하는 방법 - 크롬 창 껐을 때 페이지 그대로 뜨게 하는 방법 (0) | 2022.08.25 |
한글문서 보안저장 방법(PDF저장 아님) (0) | 2022.08.20 |