전체 글(87)
-
XSS공격이란? + 세션 하이재킹
XSS(Cross-Site Scripting) 공격이란? XSS공격은 웹 애플리케이션의 취약점을 이용해 악성 스크립트를 사용자 브라우저에서 실행시키는 공격입니다. 공격자는 주로 사용자 입력을 통해 악성 코드를 삽입하고 이를 통해 세션 하이재킹, 사용자 데이터 탈취, 웹사이트 변조 등의 피해를 일으킬 수 있습니다. 🔥 방지 방법- 입력 검증 : 사용자 입력을 철저히 검증하여 예상치 못한 형식의 입력을 차단합니다.- 출력 인코딩 : 사용자의 입력을 HTML, JavaScript 등으로 출력할 때 적절히 인코딩하여 스크립트가 실행되지 않도록 합니다. - CSP(Content Security Policy) : CSP 설정을 통해 실행할 수 있는 스크립트를 제한합니다.- 쿠키 HTTP Only& Sec..
2024.10.16 -
TIL(크롤링)
💡크롤링 의의 크롤링은 인터넷에 있는 웹 페이지를 자동으로 탐색하고, 그 페이지의 내용을 수집하는 것으로, 이는 웹페이지의 URL을 따라가며 이루어지고 수집된 데이터는 데이터베이스에 저장되거나 분석하는데 사용된다.주로 웹에서 정보를 수집하고, 이를 통해 데이터 분석, 검색 엔진 최적화, 시장 조사 등 다양한 분야에서 활용된다.크롤링 예시 - 검색 엔진 크롤링: 구글과 같은 검색 엔진은 웹 크롤러를 사용하여 웹 페이지를 탐색하고, 그 내용을 인덱싱하여 사용자 검색 결과에 반영한다. 이 과정에서 크롤러는 웹 페이지의 텍스트, 이미지, 링크 등을 수집한다.- 가격 비교 사이트: 여러 온라인 쇼핑몰의 가격 정보를 수집하여 사용자에게 최저가를 제공하는 사이트들도 크롤링 기술을 사용하며, 특정 상품의 가격을 정..
2024.08.23 -
TIL( 아틀러리 테스트 )
💡부하테스트 - 나의 구독 정보 불러오기 API index와 cache 사용 안했을 때 index만 사용했을 경우index와 cache 둘다 사용할 경우 => 인덱스와 캐시를 동시에 적용함으로써 다수의 사용자가 동시에 접속할 때 발생하는 트래픽을 효과적으로 관리할 수 있었으며, 성능적인 면에서 인덱스와 캐시를 적용하지 않은 상황에 비해 훨씬 더 나은 속도를 제공할 수 있다는걸 확인하게 됨
2024.08.21 -
TIL(AWS Lambda)
💡AWS Lambda AWS Lambda는 서버를 관리하지 않고도 애플리케이션을 구축하고 실행할 수 있는 서버리스 컴퓨팅 서비스이다.사용자는 코드 실행에 대한 비용만 지불하며, 다양한 이벤트 트리거를 사용할 수 있다. 주요기능 - 람다는 Go, Java, Javascript, Python, C# 등 여러 프로그래밍 언어를 지원한다.(다양한 언어 지원)- Lambda는 요청 수에 따라 자동으로 확장되며, 사용자가 수동으로 리소스를 조정할 필요가 없다. (자동 확장)- AWS Lambda는 보안 기능을 제공하며, 고객과 AWS 간의 공동 책임 모델을 따른다.(보안) 장점 - 다양한 이벤트 소스와 통합할 수 있어 유연한 아키텍처를 제공한다.- 사용한 만큼만 비용을 지불하므로 초기 투자 비용이 낮다.- ..
2024.08.19 -
TIL ( 면접카타 jwt )
💡 면접카타 (JWT) 의의 - JWT( JSON Web Token)는 웹 애플리케이션에서 사용자 인증 및 정보 교환을 위해 널리 사용되는 표준으로, JWT는 헤더(header), 페이로드(payload), 서명(signature)으로 구성되어 있다.- 일반적으로 클라이언트와 서버 간의 인증 및 정보 교환에 사용된다.( 헤더: 토큰의 유형과 서명 알고리즘을 포함한다. ex) {"alg": "HS256", "typ": "JWT"} / 페이로드: 사용자에 대한 정보와 클레임을 포함한다. /서명: 헤더와 페이로드를 조합한 후 비밀 키를 사용하여 생성된 서명) 처리방식 - 클라이언트는 로그인 후 서버로부터 JWT를 발급받아 저장하고, 이후 API 요청시 이 토큰을 Authorization헤더에 포함하여 서버에..
2024.08.16 -
TIL( SQL 기본문법 )
group by MySQL에서 유형별로 갯수를 가져오고 싶은데, 단순히 COUNT 함수로 데이터를 조회하면 전체 갯수만을 가져온다이때, 유형별로 갯수를 알고 싶을 때는 컬럼에 데이터를 그룹화 할 수 있는 **GROUP BY**를 사용하는 것입니다.GROUP BY를 사용할 때는 두가지를 기억해야한다.- 특정 컬럼을 그룹화 하는 GROUP BY- 특정 컬럼을 그룹화한 결과에 조건을 거는 HAVING* WHERE랑 HAVING을 헷깔리는 경우가 많은데 WHERE는 그룹화 하기 전이고, HAVING은 그룹화 후에 조건이다.SELECT type, COUNT(name) AS cnt FROM hero_collection GROUP BY type;=> type 그룹화 하여 hero_collection 테이블에서 nam..
2024.08.14