Cannot format python with prettier.. 이렇게 저렇게 떠서 다음과 같이 해결했다. ctrl + shift + p => open workspace settings(json) { "python.pythonPath": "", "editor.formatOnSave": true, "python.formatting.provider": "black", "python.linting.pylintEnabled": true, "python.linting.enabled": true, "python.linting.lintOnSave": true, "[python]": { "editor.defaultFormatter": "ms-python.python" } }
들어가는 글 Typescript를 쓰기 전에 그냥 node+express에서는 JWT로 사용자 인증을 하고 해당 정보를 전달할 때 req.user = decoed_user 와 같은 식으로 처리를 해주었다. 그런데 이게 TypeScript에서는 막힌다. 설명 왜냐하면 express.Request에 "user" namespace가 없기 때문이다. 이를 추가해주려면 다음의 과정이 필요하다. 1. decoded_user interface를 정의 -> 폴더 하나 파고 type 정의 후 export 2. express.Request 변경에 추가 -> 사진 참고 3. tsconfig 설정 -> typeRoots 설정 아니 이 간단한 걸 왜 못하고 시간을 날렸나? mongoose model과 JWT로 decode된 u..
강의를 듣고 정리한거 이후 수정할 예정 XXE : XML 파싱 기능이 있는 애플레케이션에 대한 공격 수행 XML External Entity body 에 xml 이 있는가 일반적인 웹서비스는 요즘 json을 많이 쓰고, xml을 쓰는 경우는 그렇게 많지 않음 레거시 시스템들이 많이 사용하고 있는데, 여기가 위험함 xml parser ->xml 이때 xml 자체에서 외부 파일, 개체를 참조 할때 위험함 *DTD : Document Type Definition Q. 외부 개체, 내부 개체 내부 개체 : 외부 개체 : -> 이때 외부 개체에 들어가는 경로에 악의적인 경로를 넣으면 위험함. eg) /etc/password -> SYSYEM이라는 지시어는 위험함 #실습 * 내부 개체 참조 &str; * 외부 개체..
강의를 듣고 정리한거 이후 수정할 예정임 Prepared Statement는 SQL Injection을 막는 방법 중의 하나이다. SQL Injection을 막을 때는 1. Prepared Statement 2. 입력값 검증 로직(입력 타입에 따른) 3. 입력 길이 제한 으로 시큐어 코딩을 적용한다고 한다. 보통 1이 우선순위가 제일 높고 2,3이 보조하는 구조임 그럼 Prepared Statement 에 대해 알아보자 SQL에 쿼리를 날리고 실행되는 구조는 다음과 같다. 1. 구문 분석 및 정규화 2. 컴파일 3. 트리 최적화 4. 캐시 5. 실행 문자열로 쿼리를 적당히 만들어 두고 execute하면 statment이다. 1,2,3,4,5 를 바로 간다. prepared statement는 3까지 간다..
- Total
- Today
- Yesterday
- 코딩테스트
- factory_pattern
- blind_based
- seleniumwire
- 백준
- 스택
- 로그 용량
- 도커 로그
- Spread Parameter
- private repo
- jwt
- Remote
- 힙
- 파이썬
- Til
- django testcase
- SQL
- 우선순위큐
- req.user
- BOJ
- selenium-wire
- 그리디
- django test
- Javascript
- 위상정렬
- vscode
- docker-compose update
- 프로그래머스
- Python
- 삽질
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |