2015-01-16 1 views
0

PHP를 사용하여 양식을 보내는 데 문제가 있습니다.

나는 스크립트가있는 페이지 domain1.com과 첫 번째 도메인에 마스킹 된 두 번째 domain2.com이 있습니다.

두 번째 도메인 domain2.com 브라우저에서 볼 수 있지만, 스크립트는 내가 자신을 domain2.com에서 $ _POST 데이터를 전송하려고하지만, $ _POST는 배달 할 수없는 domain1.com

에서 작동합니다.

<form method="post" action="http://<?php echo $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"] ?>"> 

그럼 내가 $ _POST를 위해서 var_dump 시도하지만 NULL입니다 :

형태의 머리 모양

이를 좋아한다.

질문 : 어떻게 마스크 된 도메인에서 $ _POST 데이터를 잡을 수 있습니까? 어쩌면 해킹이 있을까요?

모든 아이디어가 도움이됩니다. 모두에게 감사드립니다.

예 1 :

<form method="post" action="http://domain2.com"> 
<input type="hidden" name="data" value="1" /> 
<input type="submit" value="send" /> 
</form> 

예 2는 :

<form method="post" action="http://domain1.com"> 
<input type="hidden" name="data" value="1" /> 
<input type="submit" value="send" /> 
</form> 
+2

는 사이트를 해킹하고 싶은 것처럼 보이지만 그 방법으로는 작동하지 않습니다. – ITroubs

+0

아니요. 해킹이 필요하지 않습니다. 하지만 하나의 스크립트 아래에 더 많은 도메인이 있고 기본 도메인으로 데이터를 보내려고합니다. – Maximi

+0

도메인 2를 "마스킹"하지 않았습니다.양식이 제출되면 브라우저의 주소 표시 줄에 표시되며 양식이 포함 된 페이지의 html에는 확실히 표시됩니다. –

답변

1

간단한 최종 줄. 형식의 action= 매개 변수는 $_POST이 구문 분석되고 처리되는 위치입니다.

프레임은 값이 싸고 쓸데없는 것입니다 (프레임이 아닌 다른 방법을 사용하는 다른 방법).

AJAX와 javascript는 친구입니다.

JS가 없으면 도메인 1에 양식을 작성하여 도메인 2로 제출할 수 있습니다. header()이 domain1로 다시 리디렉션됩니다.

해킹, 예.

아마도 작동할까요?

나는 그것에 내 이름을 기입하겠습니까?

+0

물론이 두 가지 의미 : AJAX (JS) 및 도메인 1로 다시 리디렉션 - 데이터를 보냅니다. 예? – Maximi

+1

또는 예. 나는 당신의 "마스킹"이 실제로 그것이 엄격한 "틀이있는"방식, 오래된 학교 스타일 (1990 년대 후반)에서 사용되는 것을 보았 기 때문에 실제로 무엇인지 모르겠습니다. 일반적으로 거대한 iframe이 사용됩니다. 그들은 유사성을 나타내야합니다. 프레이밍 유형은 유사하지만 완화해야 할 몇 가지 불만이 있습니다. '''header()'''를 읽어 보면 이상한 일들이 생길 수 있습니다. DNS 수정 및 마스킹 사용 안함에 동의합니다. 그렇지 않으면 아약스가 가장 좋습니다. –

+0

두 번째 예는 무엇입니까? 다른 도메인에서 주 도메인으로 보내는 중입니다. – Maximi

1

짧은 대답은 할 수 없다는 것입니다.

마스킹은 프레임을 사용하여 작동합니다. 프레임 셋을로드하는 데 사용 된 URL의 경로 세그먼트를 가져 와서 다른 기본 URL을 프레임의 src로 사용합니다. 이는 GET 요청 만 트리거 할 수 있습니다.

프레임 셋을 생성하는 서버를 완전히 제어했다면 프레임 셋의 HTML로 데이터를 출력하고 JavaScript로 다시 읽고 데이터가 포함 된 양식을 생성 한 다음 제출할 수 있습니다 여전히 JS와 함께).

그건 끔찍한 해킹이 될 것이고 서버에 대한 많은 제어권을 갖고 있다면 어쨌든 제대로 호스트 된 도메인을 사용하고있을 것입니다.

+0

좋은 생각이지만 JS가 없으면 해결할 수 있습니다. GET으로 보내는 것은 좋은 생각이 아닙니다. 아마도 기본 도메인으로 리디렉션 한 다음 POST 데이터를 보낼 수 있습니다. 네가 뭘 생각하니? 리다이렉션 대 GET (SSL 사용) – Maximi

+1

문제를 올바르게 해결하려면 DNS를 올바르게 설정하고 마스킹을 사용하지 말고 서버가 현재 사용중인 도메인의 URL에 스크립트를 처리하게하십시오 마스크. – Quentin

+0

@Quentin은 방문자가 동일한 도메인에 머물러 있거나 이전하는 것을 의미합니까? – DarkBee

0

당신은 그렇게 할 수 없습니다. 이것은 도메인 간 정책에 위배됨

+0

을 완화 할 수 있습니다. 나는 굉장하지 않다는 것에 동의한다. –