본문 바로가기
워게임/Webhakcing.kr

webhacking.kr 54번 문제 풀이

by 그적 2019. 12. 24.

<webhacking.kr 54번 문제 풀이>

f12를 눌러 script부분을 보자. 

54번 문제 캡쳐

1) run( ) 함수
// Ajax를 위한 객체를 생성하는 함수.
 Ajax는 Asynchronous JavaScript and XML의 약자로, 자바스크립트를 이용하여 비동기적으로 서버와 브라우저가 데이터를 주고받는 방식.

2) x = run();
// run( ) 함수로 생성된 객체는 x에 저장.

3) answer( ) 함수
XHR오브젝트는 
void open(string method, string url, boolean asynch, string username, string pw) 메소드
void send(content)
등이 존재함. 주로 open(), send() 메소드가 가장 많이 사용되는 메소드임.

 - x.open('GET', '?m='+i, false); 
 GET메소드를 통해서 url 부분을 동기로 처리된다. open 메소드는 method, url이 필수항목, 나머지는 선택항목이다.
특히나 asynch 항목은 동기/비동기를 선택하며, 공백일 경우 true가 설정되어 요청은 비동기적으로 처리된다. 


 - x.send(null); 
  content에 값을 넘기려면 open() 메소드는 반드시 POST로 설정해야 하며, GET방식을 사용하려면 null을 content 값으로
넣어주면 된다. content에는 DOM 객체(XML 객체), input stream, string 값으로 설정 가능함. 


 - x.responseText 로 화면에 출력 후 setTimeout로 인해 0.1초에 한 번씩 answer함수가 재귀적으로 호출되어 다른 값으로 변경된다.




그럼 우리는 화면에 비밀번호가 전체 출력되도록 만들자.

aview.innerHTML=x.responseText;  ->   aview.innerHTML+=x.responseText; 로 변경      // 비번 전체 출력
if(x.responseText=="") aview.innerHTML="?";   ->  지우기            // ? 로 초기화 안되도록 해당 코드 삭제

콘솔 창에 아래처럼 코드를 입력함.

결과가 아래와 같이 나타남.

webhacking.kr 54번 문제 정답

 

'워게임 > Webhakcing.kr' 카테고리의 다른 글

webhacking.kr 42번 문제 풀이  (0) 2020.07.17
webhacking.kr 17번 문제 풀이  (0) 2020.07.15
webhacking.kr 39번 문제 풀이  (0) 2020.07.15
webhacking.kr 24번 문제 풀이  (1) 2019.12.24

댓글