묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
49 강좌 null byte 3번째 입력관련 문의
안녕하세요 아래 강좌를 듣고 있습니다^^49. [실습4-6] Null Byte 문자를 통한 다양한 환경에서의 검증 로직 우회 기법 실습의 17:00 의 강좌를 보면null byte 를 cookie 헤더값에 수정하여test.php(null) 을 보내서 스크립트를 실행할 수 있도록 강좌에는 진행되고 있습니다. 하지만, 제가 실행하는 코드 및 버프스위트에서는 마지막 쿠키 헤더에만 null 값이 계속 들어가지지 않고 있어서 혹시 제가 무언가 실수한 부분이 있는지 문의드립니다^^; index.php<? header("content-type: text/html; charset=UTF-8"); setcookie("gubun", "file"); ?> <form action="upload.php" method="POST" enctype="multipart/form-data"> <input type="file" name="userfile"> <input type="submit" value="UPLOAD"> </form> upload.php<? header("Content-Type: text/html; charset=UTF-8"); $gubun = $_COOKIE["gubun"]; if(empty($_FILES["userfile"]["name"])) { echo "<script>alert('파일을 업로드하세요!');history.back(-1);</script>"; exit(); } $path = "./upload/"; $filename = $gubun."_".$_FILES["userfile"]["name"]; $file_info = pathinfo($path.$filename); $ext = strtolower($file_info["extension"]); //업로드 되는 파일의 확장자는 모든것을 소문자로 변환해주겠다. $ext_arr = array("php", "php3", "php5"); if(in_array($ext, $ext_arr)) { echo "<script>alert('허용되지 않은 확장자입니다.');history.back(-1);</script>"; exit(); } if(!move_uploaded_file($_FILES["userfile"]["tmp_name"], $path.$filename)) { echo "<script>alert('파일을 업로드에 실패하였습니다.');history.back(-1);</script>"; exit(); } ?> <li>업로드 성공 : <?=$path.$filename?></li> 버프스위트에서 repaet 에 계속 널바이트가 넘어오지 않아서 아래 구문을 추가해서 실행해보았는데도 null 이 적용되지 않고 있습니다. var_dump($_COOKIE["gubun"]); echo "HEX: " . bin2hex($_COOKIE["gubun"]); exit(); 버프스위트 실행화면 (hex값 확인) 버프스위트 실행화면 ( null 적용 안됨 )
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이런 코드는 어떤가요?
import java.util.*; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); solution(in.nextInt(), 1, 1, 0); in.close(); } public static void solution(int target, int start, int value, int prevValue) { if (target >= start) { System.out.print(value + " "); solution(target, start + 1, value + prevValue, value); } } }다음과 같이 풀어보았는데요, 재귀와 메모이제이션을 비슷하게 구현한것 같아서요. 이렇게 작성하면 어떨지 문의드려요!
-
미해결6주 완성 디자인 시스템 부트캠프 4기
간격 베리어블 등록하기 하며 질문
- 기본 spacing unit 말고 구체적인 거 정할 때 예를 들어 border radius 등 줄 때 - 보통 어떤 걸 기준으로 하는지 궁금합니다. 다른 시스템 걸 따라하나요? 그리고 이렇게 미리 설정하고 쓰다가 쓰다보니 값이 너무 크거나 작아서 바꾸는 경우도 잦은지 궁금합니다.- measurement랑 appearance - 차이 두는 이유가 궁금합니다.(디스코드에 질문하려다가 해당 강의와 직접적으로 관련이 있는 거라서 여기에 질문하는 게 저도 다시 답변 확인할 때 강의랑 비교해서 이해하기 쉽고, 다른 분들이나 볼드샘께서도 맥락을 아실 것 같아서 여기에 남깁니다)
-
해결됨실전! 데이터베이스 완전정복 [설계편]
논리적 삭제 적용시 INDEX 생성 전략
안녕하세요 논리적 삭제를 위한 컬럼 적용시 해당 테이블에서 조회할때 조회 조건에 항상 deleted_at 컬럼이 포함될거 같은데요 그러면 INDEX생성에 반영해주는게 좋을까요?
-
미해결스마트요원에게 배우는 구글 스프레드시트
예제 및 실습 시트가 일치하지 않습니다
예지 및 실습 시트와 강의에서 나오는 예시들이 일치하지 않습니다.
-
미해결비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
궁금한게있어요..
강의는 gateway로 끝으로해서 끝나느데..에우레카에대한 강의는 없나요?또.. 게이트웨이 설정할때..application.yml에서..localhost:8080/8081/8082 이렇게 하셨는데..실제 서비스할때도 그렇게 적용해야하는것일지 궁금합니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
안녕하세요 코틀린으로 강의 수강 시 도메인 코드 질문드립니다
좋은 추석 보내고 계신가요?현재 코틀린으로 강의를 따라해 보고 있습니다. class Member private constructor( val email: String, var nickname: String, var passwordHash: String, var status: MemberStatus, ) { fun activate() { check(status == MemberStatus.PENDING) { "회원이 PENDING 상태가 아닙니다" } this.status = MemberStatus.ACTIVATE } fun deactivate() { check(status == MemberStatus.ACTIVATE) { "회원이 ACTIVE 상태가 아닙니다" } this.status = MemberStatus.DEACTIVATED } fun verifyPassword( password: String, passwordEncoder: PasswordEncoder, ): Boolean = passwordEncoder.matches(password, this.passwordHash) fun changeNickname(nickname: String) { this.nickname = nickname } fun changePassword(password: String) { this.passwordHash = password } companion object { fun create( email: String, nickname: String, password: String, passwordEncoder: PasswordEncoder, ): Member = Member( email, nickname, passwordEncoder.encode(password), MemberStatus.PENDING, ) } }이러한 식으로 작성하였는데 자바에서는 const로 선언한 객체나 변수가 아닌 이상 기본적으로 가변입니다. 그런데 코틀린에서는 val, var 키워드에 따라서 var로 선언해야 가변 타입이 됩니다. Member 도메인 모델 확장 챕터 수강하고 있는데 이 경우는 도메인에서 가변 속성을 미리 정의하고 해당 속성들을 var로 선언하는 것이 맞을지, 혹은 val을 통해 불변성을 확보하고 새 객체를 생성하여 변경을 처리하는 것이 적합할지 궁금합니다.코틀린에서 도메인 코드를 작성할 때 자바와 다른 문법&개념과 도메인 중심 설계가 종종 난해할 때가 있네요.
-
미해결실무에서 꼭 필요한 서버 모니터링(Zabbix)
epel 레포지스토리 활성화 오류
OS- 아마존 리눅스 2023 6.1epel 레포지토리 활성화 명령어 입력(amazon-linux-extras install epel -y) 하면command not found 라고 /뜹니다.어떻게 해야 할까요??
-
미해결
서울 핫플 큐레이션 동아리 “서라운드” 에디터 모집
Team Seoround 에디터 트랙 모집 💚 우리는 이런 팀이에요Team Seoround는 서울의 숨겨진 스팟과 로컬 이야기를 기록하는 매거진 크리에이터 팀입니다.지도와 광고가 말해주지 못하는,작은 골목의 카페와 오래된 가게, 그리고 그곳에서 살아가는 사람들의 목소리를 글과 사진으로 담습니다. ✔ 우리가 바라는 Seoround Editor“서울의 숨겨진 공간과 사람 속에서 이야기를 발견하고, 감각적으로 전할 수 있는 사람”에디터는 단순히 장소를 나열하는 게 아니라,Seoround의 시선으로 공간과 사람의 이야기를 기록하고 공유하는 역할을 합니다. ✔ 에디터가 하는 일 (What You’ll Do)✰ 서울의 숨겨진 공간 탐방 및 기록✰ 글, 사진, 영상, 인터뷰 등 자신만의 방식으로 콘텐츠 제작✰ SNS 및 매거진을 통한 스토리 공유✰ 정기 모임 참여 및 협업 (격주 토요일 예정) ✔ 필수 정보⚡︎ 활동 기간 : 2025년 11월 ~ 2026년 2월 (약 4개월)⚡︎ 활동 빈도 : 주 1회 이상 콘텐츠 제출⚡︎ 협업 방식 : 온·오프라인 병행 (정기 모임 + 온라인 협업) ✔ 활동 혜택 (Benefits)- 문화/콘텐츠/미디어/마케팅 분야 취업 희망 시 포트폴리오로 활용 가능- Seoround의 다양한 크리에이터와 협업할 수 있는 기회 제공 ✔ 이런 분이면 좋아요💬 “서울 숨겨진 로컬과 카페 탐방이 내 취미예요”💬 “사람들의 이야기를 기록하는 걸 좋아해요”💬 “사진 찍고 글 쓰는 게 일상이 된 분”💬 “작고 사소한 것도 기록하면 가치 있다고 생각해요” ✔ 지난 참여자 후기“함께 활동하면서 꾸준히 글을 남길 수 있었어요.” - 김민준(한양대 20학번)“에디터 피드백을 통해 어떻게 글을 써야 하는지 많이 배웠어요.” - 정민지(명지대 23학번)“나의 취향을 집중해서 봐주는 사람들이 있다는 걸 느낄 수 있었어요.” - 손형준(동국대 25학번)“에디터 클럽을 통해 다양한 가치관을 가진 사람들을 만나며, 내 세계가 확장되는 경험이었어요.” - 이현성(연세대 24학번) 👉 서울의 이야기를 발견하고 기록하는 여정에 함께하고 싶다면, 지금 Team Seoround에 합류하세요.https://forms.gle/aGDQsRyXDoz9RoRx6 Seoround에 대해서 더 알고싶다면?https://www.notion.so/Team-Seoround-27218b7dd19f80dca418fa2dc16828e9
-
미해결'향로' 와 함께하는 추석 완강 챌린지
이번에 구매한 강의가 아직 100% 등록이 아닌 업데이트 예정입니다.
처음에 물어보려고 했는데요.100% 가 아닌 10월중 추가 업로드를 하는 강의네요.이런 경우 현재 업로드된 강의만 다 봐도 100% 완강 처리가 될 수 있을까요?
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
코틀린에서 상속 시, 주의점에 대한 질문
태현님, 안녕하세요. 뭔가 하나 더 궁금해져서 질문을 드리게 되었습니다!아래의 두 클래스가 있다고 가정해보겠습니다.package me.sungbin.lec10 open class Base( open number: String = "100", ) { init { println("Base Class") println(number) } }package me.sungbin.lec10 class Derived( override val number: String, ) : Base() { init { println("Derived Class") } }그리고 실제로 아래와 같이 Derived 클래스의 생성자를 호출하면 number값으로는 null이 출력됩니다. 여기서 궁금한 것은 number는 non-nullable한 타입인데 null이 왜 출력이 될까? 라는 궁금증이 생겼는데요..그래서 GPT한테 물어보니 아래와 같은 답변을 얻을 수 있었습니다.레퍼런스 타입(예: String) → JVM 기본값 null이 출력됩니다. (Kotlin의 Non-null 보장도 생성 중(super 생성자 실행 중)에는 예외적으로 깨질 수 있습니다.)이렇게 들으니 뭔가 이해가 된 듯 보이는데 이게 GPT 피셜이다보니 태현님의 의견이 듣고 싶어져서 질문을 남깁니다!
-
미해결[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
flex를 grid 처럼 만들기 질문드립니다.
css 04-2-2 반응형과 grid 조합 - 플렉스박스와 그리드 비교 수업 12분 15초 내용을 감싸는 div를 만들어서 어떻게 해야 grid 와 같이 만들 수가 있는 건지 궁금합니다.
-
미해결카프카 완벽 가이드 - 코어편
VM 과 도커의 차이
안녕하세요. 강의 수강 중 궁금한게 있어서 질문 남깁니다.강의는 VM 에 Ubuntu 와 kafka 를 설치하는 것으로 진행되는데, Docker 를 사용하는 것과 VM 을 사용하는 것에 차이가 있나요?VM 이 아니라 Docker 로 Kafka 를 띄우거나, Ubuntu 를 띄우고 Kafka 를 설치해도 동일하지 않나 생각이 들더라고요.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
ParsedPeople.where((x)=>x.group==‘BTS’); 에서 x가 어떻게 person 클래스의 Instance인가
parsedpeople은 people을 class에 파라미터값을 대입한 값들을 return값으로 가지는 list입니다. 즉, parsedpeople 리스트는 각 성분을 [person(name:지수,group:블랙핑크),person(name:로제,group:블랙핑크)•••]과 같은 형태인데 여기서 where함수를 취하면 그 각 x값들은 person(name:지수,group:블랙핑크) 을 가지는 것 아닌가요?? 강사님이 설명하신 것처럼 x가 인스턴스 이려면 이전에 설정한 person클래스의 person인스턴스를 사용해야하는 것 아닌가요?? class강의에서는 class의 변수를 사용하려면 인스턴스 만들어서 tt.Numbers와 같이 사용했습니다. 그런데 갑자기 어떻게 사용하셨는지 설명이 브족합니다
-
미해결Spring Boot TDD - 입문부터 실전까지 정확하게
내부 설계에 의존하는 테스트 관련 질문 드립니다.
강의를 들으면서 내부 설계에 의존하는 테스트라는 것이 무엇인지 조금 헷갈려서 질문 드립니다. 강의 초반에는 테스트가 내부 설계에 의존해서는 안된다고 말씀 주셨습니다. 내부 설계에 의존하게 되면 테스트가 깨지는 등의 부작용이 발생할 수 있기 때문이라는 점도 함께 말씀 주셨는데, 이번 강의에서는 내부 설계에 의존해야 하는 케이스를 설명 해주셨습니다. 다만 왜 이런 케이스에는 내부 설계에 의존해야 하는지를 확실하게 이해를 하지 못했습니다. 조금 더 자세한 질문을 드리자면내부 설계의 의미내부 설계에 의존해야 하는 이유이 두가지를 잘 이해하지 못한 것 같습니다.내부 설계라는 것이 클라이언트가 실제로 사용하는, 외부로 공개된 인터페이스를 제외한 모든 부분을 말하는 것일까요? 이번 강의에서 내부 설계에 의존해야 하는 이유는클라이언트는 어떤 방식으로 암호화를 하는지 알 필요가 없다.하지만 현재 공개된 인터페이스로는 실제 비밀번호가 평문으로 저장이 되었는지, 아니면 정말 암호화가 이루어져 저징이 되었는지를 확인할 수 있는 방법이 없다.그러므로 실제 암호화 로직을 테스트 해야한다 (내부 설계에 의존해야 한다)정도로 이해했습니다만 제가 맞게 이해한 것인지 감이 오질 않습니다. 요약하자면내부 설계란 외부로 드러난 인터페이스 외적인 것들을 말하는 것인지왜 내부 설계를 의존해야만 하는 상황이 발생하는지정도일 것 같습니다. 감사합니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4-1 작업형 모의문제1 질문
13:08 3번문제 풀이 중 강사님도 동일하게 입력했는데 제 데이터파일에 문제 있는건지.. 이유를 잘 모르겠어서 해결책을 찾고자 질문 남깁니다.
-
미해결React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
6-2 강의 노션 코드 오타인거죠? 2
위치:SingleTopic/Chart/ChartCanvas.jsx (39번 라인)문제: stroke={colors[i].bg} // ❌ 현재 코드원인:voteColors.js의 실제 구조는 문자열 배열입니다예: 2: ["#10B981", "#F43F5E"].bg 프로퍼티가 존재하지 않아 undefined 반환해결:stroke={colors[i]} // ✅ 수정 코드결과: 수정 후 차트 선 색상이 정상적으로 표시됩니다.제안:후속 수강생들을 위해 강의 자료 업데이트 부탁드립니다. 강의 노션 코드에 오타가 너무 많아서 도움을 주는 자료인지 강의 진행을 방해하는 자료인지 모를 정도입니다. 솔직히 좀 심각합니다.감사합니다.
-
미해결실전에서 바로 써먹는 Kafka 입문
컨슈머 서버 점진적 배포 시나리오
컨슈머 서버가 3대 떠있을때 점진적 배포를 어떤식으로 진행하시나요? 기존 서버군을 죽이면 리밸런싱 되겠지만, 신규 배포에 문제가 생겼다고 판단될때 즉각적인 롤백이 안될것 같은데요. 어떤식으로 하시나요?
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
멀티모듈에서 DB 커넥션 풀 분리
DataSource에 대한 질문 배치를 적용중인데, 멀티모듈에서 배치용 Application을 따로두고, 배치용 yaml에서 datasource를 두었고, api쪽도 yaml에서 datasource를 보고 있다.이때 , 아래와 같이 Config에서 Bean을 통해 Datasource을 생성, JobRepository에 전달해주지 "않아도" 커넥션이 분리가 되는가?API 쪽 디비와, 배치 디비의 커넥션풀을 따로 쓰고싶은데 아래와 같이 별도 세팅 없이 yaml만으로 분리는 안되는지 궁금하다...@Configuration class JpaConfig { @Bean @ConfigurationProperties("spring.datasource") fun batchDataSource(): DataSource { return HikariDataSource() } @Bean fun jobRepository( batchDataSource: DataSource, transactionManager: PlatformTransactionManager, ): JobRepository { return JobRepositoryFactoryBean().apply { setDataSource(batchDataSource) setDatabaseType(DatabaseType.POSTGRES.name) setTransactionManager(transactionManager) afterPropertiesSet() }object } }
-
미해결[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!
plan mode로 토글이 안됩니다
shift+tab 키를 누르면 plan mode --> 일반모드 등으로 토글이 된다고 책에 나와 있는데 실제로 해보면 thinking on --> thinking off 모드만 토글이 되고 있어요. 혹시 plan mode로 가려면 어떻게 해야 하나요?