2012-07-21 4 views

답변

8

견적 :

지금까지 내가 아는 한, 방화범은이 작업을 수행 할 수 없습니다. 그러나 파이어 버그 (firebug)의 정신에 따라 매우 유용한 파이어 폭스 확장 인 Tamper Data이있다. 이것은 당신이 원하는 것을 할 수 있어야합니다.

브라우저를 통해 요청할 때마다이를 모니터링 할 수 있으며 전송되기 전에 모든 요청을보고 편집 할 수있는 옵션을 설정할 수 있습니다. 참조 또한 How do I POST to a web page using Firebug?
:

소스에서 다른 답변을 참조 Using Firebug to send form data


위의 작업을 단순히 HTTP 요청을 수정하려면, 실제로는 HTTP 요청을 만들려면 파이어 폭스가 다음 설명이 포함 된 Poster이라는 확장명 :

상호 작용을위한 개발자 도구 웹 서비스 및 기타 웹 리소스를 사용하여 HTTP 요청을 만들고 엔터티 본문 및 콘텐츠 형식을 설정할 수 있습니다. 이 모든 도메인에,

12

사실, 당신은 지금 (파이어 폭스 3.5 이후) 방화범의 순수한 XHR POST를 할 수 있습니다 ... 당신은 웹 서비스와 상호 작용하고 그 결과를 검사 할 수 있습니다, 단지 순수 자바 스크립트처럼 당신 같은 제약이있는 페이지.

코드는 모두 당신이 콘솔에

붙여 넣기를 자주 사용 (당신이 그것을 저장하지 않는 때마다 복사 - 붙여 넣기)하려는 경우 (이 명령 편집기를 열 것입니다하지만 자동으로 편리 조금 길고 아니다 이> 1 개 라인)의로

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "http://test/xhrtest.php?w=www"); 
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhr.send("a=aaa&b=bbb"); 

, 당신은 enable CORS해야합니다, 방화범 (그렇지 않은 경우의 반응을보고, 요청이 전송됩니다 서버 측에 그 기억하지만 당신은 방화범의 반응을 볼 수 없습니다; 당신은 Fiddler에서 그것을 볼 수있었습니다.); 당신이 페이지 http://foo/somepage에있는 동안 Firebug를 열었다면, HTTP 리퍼러 헤더 필드의 XHR이 그 URL을 보내고 그 도메인은 서버 설정에서 설정할 수있는 헤더를 통해 XHR 응답을 수신 할 수 있어야합니다. 또는 직접 페이지에서.PHP에서

예 : (당신이 Console > RIGHT CLICK > Show XMLHttpRequest 옵션을 사용하도록 설정 한 경우도 Console 탭)

<?php 
header('Access-Control-Allow-Origin: *'); 
//you can adjust it more fine-grained, perhaps in an 'if' 
//header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']); 
//header('Access-Control-Allow-Origin: http://foo'); 

echo $_POST['a'] . "\r\n"; 
echo $_POST['b'] . "\r\n"; 
echo $_GET['w'] . "\r\n"; 
?> 

이 그럼 당신은 응답을 검사하는 방화범의 Net 탭을 사용할 수 있습니다.

+1

사용 [에 encodeURIComponent (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent) 당신이 문자를 사용하려는 경우 POSTed 변수에서 '&'를 사용하십시오. –

관련 문제