ASP 도둑 프로그램 은 어떻게 XML HTTP 를 이용 하여 폼 제출 을 실현 합 니까?

[오리지널]ASP 도둑 프로그램 이 XML HTTP 를 어떻게 이용 하여 폼 제출 을 실현 하 는 지,cookies 나 session 의 발송 이 XML HTTP 를 이용 하여 도둑 을 만 드 는 지 에 대한 구체 적 인 세부 사항 이 낙오 되 어 많은 사람들 이 보 내 고 토론 하 였 으 나,ASP 도둑 을 만 드 는 과정 에서 많은 사람들 이 ASP 도둑 이 PHP 도둑 보다 그렇게 강하 지 않다 는 것 을 발견 하 였 다.확실히 원 사이트 에 폼 제출 이나 cookies 의 검증 이 존재 한다 면 ASP 에 있어 서 SOCKET 기반 구성 요 소 를 사용 하지 않 으 면 완성 하기 어렵 습 니 다.사실 XML HTTP 의 다른 두 가지 방법 은 우리 가 무시 하 는 것 이 문제 의 관건 입 니 다.다음은 우선 이 방법 1...send()유행 하 는 도둑 은 POST 가 아 닌 GET 를 사용 하여 데 이 터 를 전송 하기 때문에 많은 사람들 이 이 방법 을 소홀히 하고 SEND 를 사용 하여 데 이 터 를 보 내 는 것 도 간단 하 다.바로 SEND('내용')이다.그러나 폼 을 보 내 는 것 은 이렇게 간단 하지 않다.왜냐하면 당신 이 보 낸 폼 이 중국어 라면 인 코딩 문제 와 관련 이 있 기 때문이다.우선,당신 은 OPEN 에 있 습 니 다. POST 즉시 .open("POST",주소,비동기 여부)그리고 SEND 에 폼 의 내용 을 추가 합 니 다.예 를 들 어 제출 할 폼 은 3 개의 폼 도 메 인 이 있 습 니 다.각각 A,B,C 입 니 다.대응 하 는 값 은 각각 1,2,3 입 니 다.그러면 SEND 에 이렇게 쓰 면 폼 을 제출 할 수 있 습 니 다.send("A=1&B=2&C=3"),어 떻 습 니까?아주 간단 하 죠?생각 지도 못 했 죠?하지만 너무 일찍 기뻐 하지 마 세 요.제 가 앞에서 말 했 듯 이 폼 의 값 이 중국어 라면 데이터 전송 이 잘못 될 수 있 습 니 다.여기 서 우 리 는 함수 escape()를 빌려 JAVASCRIPT 를 잘 아 는 친구 들 은 모두 이 함수 의 역할 을 알 아야 합 니 다.현재 VBSCRIPT 역시 이 함 수 를 지원 합 니 다.send("A=escape('값 1')&B=escape('값 2')&C=escape('값 3')")2.setRequestHeader()는 위 에서 말 한 것 에 이 어 데이터 send 를 보 냈 지만 상대방 은 받 지 못 합 니 다.왜 요?사실은 HTTP 머리 에 물건 이 하나 빠 졌 기 때 문 입 니 다.그리고 이 함수 로 추가 하면 됩 니 다.구체 적 으로 는.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded")입 니 다. urlencode 인 코딩 폼 을 제출 했다 고 알려 주세요.알 겠 습 니 다.폼 제출 을 마치 고 cookies 와 session 을 어떻게 전송 하 는 지 알려 드 리 겠 습 니 다. Last edited by 먹쥐 on 2005-4-13 at 13:20 ]  사실 전송 cookies 도 간단 합 니 다.이 함 수 를 이용 하여 HTTP 머리 에 물건 을 추가 합 니 다.예 를 들 어 제 가 현재 낙오 된 cookies 는 cdb 입 니 다.sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid 45=113370145 지금 이 cookies 를 보 내 려 면 바로.setRequestHeader("Cookie","cdbsid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid 45=111373145")물론 일부 사이트 페이지 는 페이지 판단 기능 이 있 습 니 다.이것 도 어렵 지 않 습 니 다.바로.setRequestHeader("Refer","진로 의 절대 주소")입 니 다.여기 중요 한 문제 가 있 습 니 다.바로 이 방법 은 HTTP 헤드 를 쓰 는 것 이기 때문에 기 존의 HTTP 헤드 를 변경 할 수 없습니다.asp 로 상대방 페이지 의 cookies 나 session 을 어떻게 얻 고 보 내 는 지 에 대해 서 입 니 다.다음 에 글 을 보 내 서 설명 하 겠 습 니 다.먼저 정 수 를 주세요.짝수 먹 고양이 MM 을 위해 힘 들 게 썼 습 니 다:cool:use xmlhttp's getResponseHeader and setRequestHeader methodDim logxml,idpw,postxml,info,cookieidpw="id=abc&pw=pass"Set logxml=Server.CreateObject("Microsoft.XML HTTP")logxml.Open"POST","POST","http://myserver/login", Falselogxml.Send idpwcookie = logxml.getResponseHeader("Set-Cookie")info="title=hello&content=world"Set postxml = Server.CreateObject("Microsoft.XMLHTTP")postxml.Open "POST", "http://myserver/post", Falsepostxml.setRequestHeader("Cookie",cookie)postxml.Send

좋은 웹페이지 즐겨찾기