inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

select * from member where id= '1' or '1'='1' --

미해결

웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩

SQL 인젝션 관련하여 질문드립니다. 제목처럼 -- 나 # 등의 주석처리로 로그인을 우회할 수 있는 경우는 insequre_website 의 login.php 에서 로그인을 처리하는 로직 (하단)처럼 id값과 pw 값을 동시에 받아서 query 로 넘기는 경우만 해당하는거죠? $query = "select * from members where id='{$id}' and password='{$password}'"; 즉, 하단의 로직처럼 일단 id가 있는지 확인하고, id가 있을 경우 pw값 일치여부를 보는 경우엔 주석처리로 로그인 우회가 안되는게 맞는거죠? 감사합니다! <?php session_start(); $connect = mysqli_connect( "localhost" , "" , "" , " ) or die( "fail" ); //입력 받은 id와 password $id = $_GET [ 'id' ]; $pw = $_GET [ 'pw' ]; //아이디가 있는지 검사 $query = "select * from member where id='$id'" ; $result = $connect - > query( $query ); //아이디가 있다면 비밀번호 검사 if (mysqli_num_rows( $result ) = = 1 ) { $row =mysqli_fetch_assoc( $result ); //비밀번호가 맞다면 세션 생성 if ( $row [ 'pw' ] = = $pw ){ $_SESSION [ 'userid' ] = $id ; if ( isset ( $_SESSION [ 'userid' ])){ ?> < script > alert ( "로그인 되었습니다." ); location .replace( "./index.php" ); </ script > <?php } else { echo "session fail" ; } } else { ?> < script > alert ( "아이디 혹은 비밀번호가 잘못되었습니다." ); history . back (); </ script > <?php } 출처: https://chamggae.tistory.com/83 [silqia 공부 블로그]

  • 모의해킹
  • 인젝션
김미나 댓글 2 좋아요 1 조회수 640

github 옵션 설정

미해결

컴퓨터, 웹, 코딩, 프로그래밍의 시작 - Web1

Github pages 에서 source 아래에 none 눌러서 master branch를 선택하려고 했는데 선택사항이 none , main 두가지만 나오고 master branch는 나오지않습니다 어떻게 진행하는게 좋을까요 ?

  • HTML/CSS
hankwanjin 댓글 1 좋아요 0 조회수 407

텐서플로우 다운그레이드 이유가 궁금합니다

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요 강사님. 이번에 수업을 신청한 한 학생입니다. 다름아니라 이번 강의에서 tensorflow와 keras 버전을 downgrade 시키셨는데, 혹시 그이유를 알 수 있을 까요?? 강의가 출시되기 전에 tensorflow2.0이 출시된것으로 알고 있는데, 왜 tensorflow1.13버전을 사용하는지 알고 싶습니다. 현재는 거의 대부분의 tensorflow유저들은 2.0버전을 사용하지 않나요? 더 빠르게 변하고 발전하는 앞으로의 관점에서 tensorflow2.0버전을 사용하여 공부하는 것이 좋지 않나..싶은 생각입니다.

  • 텐서플로우다운그레이드
  • 머신러닝 배워볼래요?
  • tensorflow
  • 딥러닝
  • 컴퓨터-비전
  • keras
  • python
park30908 댓글 1 좋아요 0 조회수 591

PQ 말고 그냥 queue로 하면 틀린것인가요??

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요 선생님 저는 이 문제에서 왼쪽과 위쪽 우선순위를 그냥 for loop 돌 때 dx dy 순서를 그렇게 짜면 되겠다 해서 밑에 코드처럼 짰습니다 저렇게 되면 답이 맞지 않는 것인가요?? (맥을 이용중이라 채점 프로그램을 쓰지 못하고 있네요 ㅠㅠ) #include <stdio.h> #include <vector> #include <queue> using namespace std; int map[30][30]; int time=0, size=2, n, cnt=0; int dx[4]={0,-1,1,0}; int dy[4]={-1,0,0,1}; struct Loc{ int x; int y; Loc(int a, int b){ x=a; y=b; } }; queue<Loc> Q; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ scanf("%d",&map[i][j]); if(map[i][j]==9) { Q.push(Loc(i,j)); map[i][j]=0; } } } while(!Q.empty()){ Loc tmp = Q.front(); Q.pop(); for(int i=0;i<4;i++){ int xx = tmp.x+dx[i]; int yy = tmp.y+dy[i]; if(xx>=1 && xx<= n && yy>=1 && yy<=n && map[xx][yy]<=size && map[xx][yy]!=0){ Q.push(Loc(xx,yy)); cnt++; if(map[xx][yy]<size){ if(size==cnt) size+1; map[xx][yy]=0; } } } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(map[i][j]!=0) printf("%no"); } } printf("%d",&cnt); return 0; }

  • C++
  • 코테 준비 같이 해요!
예리얼 댓글 1 좋아요 0 조회수 293

안녕하세요 강사님

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 강사님 질문있습니다. 강의 목록 중에 "실전! 스프링 웹 MVC 출시 예정 - 2월" 인 부분이 있는데 언제 나오는지 알 수 있을까요??

  • spring
  • spring-boot
  • java
  • MVC
댓글 1 좋아요 0 조회수 152

templates 새로고침

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

static 에 있는 index.html 은 새로고침이 되는데 templates 에 있는 값은 새로고침이 안됩니다 서버를 다시 실행시켜도..

  • MVC
  • spring-boot
  • java
  • spring
느린 날치 댓글 2 좋아요 0 조회수 347

선생님 질문 있습니다!

풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]

삭제된 글입니다

  • HTML/CSS
  • es6
  • javascript
still live 댓글 1 좋아요 0 조회수 65

Mock server UI 변경에 따른 문의

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

postman UI가 변동되었는데, 강사님이 만들어주신 영상과는 달라서 찾기가 어려웠습니다. - 이 부분에 대한 내용 업데이트가 필요할 것 같습니다. - 제가 진행한 부분이 맞나요? (이미지 1, 2 참고) - 근데 url 접속하고 마지막에 /products를 입력하거나 마지막 과제인 Index.html에 해당 코드를 삽입해도 강사님처럼 결과값이 아무것도 리턴되지 않습니다. (이미지 3, 4, 5 참고, console에도 아무것도 찍히지 않습니다)

  • react-native
  • 머신러닝 배워볼래요?
  • nodejs
  • express
  • react
  • tensorflow
  • HTML/CSS
  • javascript
Seokhyeon Jang 댓글 2 좋아요 1 조회수 462

복습 중 질문드립니다 ㅠ

해결됨

트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술

안녕하세요 다시 한번 복습중에 질문드립니다.. 드래그하면 pos값이 변경돼서 데이터에는 잘 반영이 되는데 html에 data-pos속성의 값에는 변경되지 않아서 card를 드래그로 이동하고 drop시 연산이 일어날때는 html에 있는 date-pos 속성(고정되어있는)의 값으로 더하거나 곱하거나 해서 계산이 맞지않습니다 ㅠ 강사님 코드를 참고해보긴 했는데 강사님도 data-pos="data.pos" 이런식으로 하시더라구요.. 제가 놓치고 있는 부분이 있을까요..? 질문드립니다! <li class="list_item" v-for="(row, index) in rowData" v-bind:key="index"> <div :data-idx="row.idx" :data-pos="row.pos"> <input type="text" :value="row.subject" readonly> {{row.idx}} <button type="button" class="memo_delete" @click="deleteList(row.idx)">&times;</button> </div> ... ... ... const targetList = { idx: el.firstElementChild.dataset.idx*1, pos: el.firstElementChild.dataset.pos*1 }; // 순서 비교는 배열의 index값으로 할꺼임 Array.from(document.querySelectorAll('#memoList .list_item')).forEach((el, idx, arr) => { // 배열의 index로 target의 위치 확인 const cardId = el.firstElementChild.dataset.idx; let prevList = null; let nextList = null; if(cardId == targetList.idx) { prevList = idx > 0 ? { idx: arr[idx-1].firstElementChild.dataset.idx*1, pos: arr[idx-1].firstElementChild.dataset.pos*1 } : null; nextList = idx < arr.length-1 ? { idx: arr[idx+1].firstElementChild.dataset.idx*1, pos: arr[idx+1].firstElementChild.dataset.pos*1 } : null; if(!prevList && nextList) { targetList.pos = nextList.pos / 2; // 첫 번째 자리 console.log('첫 번째 자리'); } else if(!nextList && prevList) { targetList.pos = prevList.pos * 2; //마지막 자리 console.log('마지막 자리'); } else { targetList.pos = (nextList.pos + prevList.pos) / 2; //중간 자리 console.log('중간 자리 ===',prevList.pos,'====',nextList.pos, arr[idx+1]); } vm.$http({ method: 'PUT', url: '/memo/update', data: { pos: targetList.pos, idx: targetList.idx } }) } })

  • vuejs
  • javascript
한아링 댓글 1 좋아요 0 조회수 259

멀티스레드 환경에서 request scope

미해결

스프링 핵심 원리 - 기본편

도 똑같이 적용이 가능하나요? 로컬쓰레드로 로거를 구현하면 멀티스레드 구현이 불가능해진다는 단점이있는데, request scope방식은 멀티스레드 safe한지 궁금하네요 강의 잘 듣고 있습니다 감사합니다.

  • spring
  • oop
log4j 댓글 1 좋아요 0 조회수 512

Setter 대신 생성자를 사용하는 방법에 대해 궁금합니다

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 영한님. 프로젝트 내에서 OrderService 에서 Order를 생성하려고 합니다. 강의 내용에서는 @Setter를 사용하셔서 하셨는데 중간 Order.java 내에서 연관관계 메서드를 만들어 놓은 부분 중 setter가 아닌 생성자로 넣을 수 있는 방법이 어떤게 있을지 고민해보았는데 도통 생각이 나지 않아 문의드려봅니다! OrderService.java @Transactional public Long order ( Long memberId , Long itemId , int count ) { // 엔터티 조회 Member member = memberRepository .findOne ( memberId ) ; Item item = itemRepository .findOne ( itemId ) ; // 배송정보 생성 Delivery delivery = new Delivery () ; delivery.setAddress ( member.getAddress ()) ; // 주문상품 생성 OrderItem orderItem = OrderItem. createOrderItem ( item , item.getPrice () , count ) ; // 주문 생성 Order order = Order. createOrder ( member , delivery , orderItem ) ; // 주문 저장 orderRepository .save ( order ) ; return order.getId () ; } Order.java public static Order createOrder ( Member member , Delivery delivery , OrderItem... orderItems ) { Order order = new Order () ; order.setMember ( member ) ; order.setDelivery ( delivery ) ; for ( OrderItem orderItem : orderItems ) { order.addOrderItem ( orderItem ) ; } order.setStatus ( OrderStatus. ORDER) ; order.setOrderDate ( LocalDateTime. now ()) ; return order ; } 같으 클래스 내에 public void addOrderItem ( OrderItem orderItem ) { orderItems .add ( orderItem ) ; orderItem.setOrder (( this )) ; /* OrderItem orderItem2 = new OrderItem(this)*/ } 저 주석 부분 처럼 orderItem 객체를 새로 생성해서 사용하면 다른것으로 판별이 되어 DB에 Order가 들어가지 않는것 같은데... 어떤 방법이 제일 좋을까요? 아니면 그냥 OrderItem 이 엔터티에는 그냥 Setter를 사용하는게 합리적일까요?? 감사합니다!

  • spring-boot
  • 웹앱
  • java
  • JPA
  • spring
KwangMin Lee 댓글 1 좋아요 0 조회수 482

GMM에서 최적의 n_component 도출 방법 문의

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요. 강사님. K-means에서는 최적의 클러스터 개수를 구하기 위해 elbow method나 강의에서 소개해주신 실루엣 계수를 사용하는데(물론 이 방법들로 최적의 클러스터 개수를 반드시 도출한다는 보장은 없지만), GMM에서는 최적의 클러스터 개수를(n_component) 구하기 위해 어떻게 해야하나요?

  • python
  • 통계
  • 머신러닝 배워볼래요?
Abraham 댓글 1 좋아요 0 조회수 676

srand()질문

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

다른분이 먼저하신 질문에서 추가로 궁금한게있는데 main함수안에서 srand(time(0))으로 초기화시키면 딱 time(0)값이 srand()안으로 들어가서 1번 초기화가 된 상태에서 그걸 rand()로 while 문 안에서 뽑아쓰는거고 while문 안에 srand(time(0))이 있으면 실행될 때 1번 초기화 시켜주고 다시 초기화 시켜줄 때 time()이게 컴퓨터내부에서 계속 숫자가 올라가는데 시드값이 계속 바뀌는게 아닌가요? 오히려 srand()를 while밖에서 초기화 시키는게 초기화가 1번만되서 랜덤성이 더 없다고 생각되는데 이 의문점이 해소가 안됩니다.

  • C++
Windfall 댓글 1 좋아요 0 조회수 563

예측값

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

예측값을 추출하지않았다는 뜻이 될것같아요 성능이 좋은 모델을 만든 후에, 그 모델로 새로운 미지의? 데이터를 예측해보고 그 예측값을 확인하는 것(예측값을 추출해보는것?)이 머신러닝의 목적이라고 이해를 했는데.. 실습예제를 통해서는 모델의 성능평가까지만 나와있어 여쭤보았습니다.

  • 통계
  • python
  • 머신러닝 배워볼래요?
yni 댓글 1 좋아요 0 조회수 231

질문드립니다.

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

테스트 해보면서 버그를 발견했는데 마우스를 꾹 누르고 이동할때 몬스터의 콜라이더가 Raycast에 hit되어서, destPos가 몬스터의 콜라이더가 되어버려 몬스터의 콜라이더를 타고 올라가는 것 처럼 보이는 현상이 발생해서 코드를 수정해봤습니다. 아래와 같이 처리하는게 좋은 방법일까요? - 수정 전 - case Define.MouseEvent.Press: { if (_lockTarget == null && raycastHit) _destPos = hit.point; } break; - 수정 후 - case Define.MouseEvent.Press: if (_lockTarget == null && raycastHit) { if (hit.collider.gameObject.layer == (int)Define.Layer.Monster) _destPos = hit.collider.transform.position; else _destPos = hit.point; } break;

  • C#
  • unity
시에라웨이브 댓글 1 좋아요 0 조회수 232

맨 마지막 줄 print(err)이 어떻게 raise 를 불러낸 것인가요?

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

질문이 있습니다!! except BigNumberError: 만 있었는데 마지막에 as err를 추가 하고, 맨 마지막 줄 print(err)을 넣어주셨는데요. 어떻게 print(err)가 raise BigNumberError("입력값 : {0}, {1}".format(num1, num2))를 부른 것인가요? raise BigNumberError()은 물론이고 try: 안의 코드 중 그 어떤 것도 err 와 관련성 있는 것을 모르겠습니다. class BigNumberError ( Exception ): def __init__ ( self , msg ): self .msg = msg def __str__ ( self ): return self .msg try : print ( "한 자리 숫자 나누기 전용 계산기 입니다." ) num1 = int ( input ( "첫 번째 숫자를 입력하세요 : " )) num2 = int ( input ( "두 번째 숫자를 입력하세요 : " )) if num1 >= 10 or num2 >= 10 : raise BigNumberError( "입력값 : {0} , {1} " .format(num1, num2)) print ( " {0} / {1} = {2} " .format(num1, num2, int (num1/num2))) except ValueError : print ( "잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요." ) except BigNumberError as err: print ( "에러가 발생하였습니다. 한 자리 숫자만 입력하세요." ) print (err)

  • python
katherine 댓글 1 좋아요 0 조회수 241

__init__()함수 여러번 사용과 자바와의 차이점

미해결

초보자도 간단히 단숨에 배우는 파이썬 프로그래밍

안녕하세요. __init__ 함수와 자바와의 차이점에 대해 질문이 있습니다. 1. 파이썬에서 class를 생성할 때 __init__함수를 한번에 여러번 사용할 수도 있나요? 2. 자바에서는 예를들어 클래스(ReaderBook)를 생성하고 객체를 생성할 때 ReaderBook member1 = new ReaderBook(); 이라는 방식으로 생성하는데 이 방식이 파이썬에서 선생님이 self를 이용하여 만든 두번째 방식과 동일한건가요? 자바에서의 인스턴스변수와 약간 헷갈립니다. 감사합니다.

  • 인프런 신규강의 (무료)
  • python
  • 인프런 신규강의 (무료)
  • 인프런 신규강의 (무료)
이동현 댓글 1 좋아요 2 조회수 622

User Schema보단 table이 더 맞지 않나요?

미해결

리액트로 나만의 블로그 만들기(MERN Stack)

Schema라는 큰 범주 안에 user라는 테이블이 있고, post라는 테이블이 있고.. comment라는 테이블이 있는게 아닌가요? 제 생각에는 user,comment,post,category를 다 포함한 model이 스키마라고 생각이 됩니다..

  • mongodb
  • bootstrap
  • express
  • redux
  • react
  • nodejs
Dev J 댓글 2 좋아요 0 조회수 228

공부하다가 질문드립니다!!

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

이 강의와 연관이 없긴한데 스프링을 배우기전에 서블릿이랑 마이바티스를 공부하라고 방금 아는형한테 들어가지고 불안해서 그런데 자바 끝나고 바로 로드맵 따라 공부해도되나요?(이미 로드맵대로 공부중이지만 처음부터 서블릿이랑 마이바티스부터 공부해야하나 궁금해서 질문드립니다ㅠㅠ)

  • JPA
  • spring-boot
  • 웹앱
  • java
  • spring
chl9338 댓글 1 좋아요 0 조회수 258

7,8장 예제 map메소드 역할

해결됨

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

아 저번에 map메소드관련해서 질문했던 수강생입니다! 그때 답변이 기존 배열은 안 바뀌고 새 배열이 생성되고, 변수에 할당할 필요는 없고 만들어진 즉시 사용해도 된다고 하셨는데 그럼 그냥 map함수의 콜백함수에 적혀져 있는 코드를 콜백함수 내 에서 적지않고 밖에서 써도되는것 아닌가요? 왜 users.map을 썼는지 궁금합니다ㅠㅠ 따라서 제말을 요약하자면 users배열을 변화시키는게 아니라 새로운 배열을 생성하는건데 1.사용자를 등록시에 사용자이름을 눌렀을때 댓글로딩하는 효과 2. id=user-list인 테이블태그에 로우 셸 추가 이 두 코드를 진행하기위해 users= res.data인 users배열을 이용하지도 않는데 왜 map메소드를 처리하는지 모르겠습니다ㅠㅠ

  • mongodb
  • mysql
  • nodejs
  • Sequelize
맑은맑쇼 댓글 2 좋아요 0 조회수 160

인기 태그

인프런 TOP Writers

주간 인기글