웹 프론트엔드 JS 튜토리얼 크로스 도메인 양식 제출 상태_자바스크립트 기술에 대한 위장된 판단 코드

크로스 도메인 양식 제출 상태_자바스크립트 기술에 대한 위장된 판단 코드

May 16, 2016 pm 06:42 PM
양식 제출 교차 도메인

생각해보면 처음에 iframe의 내부 페이지 정보를 얻을 수 있었다면, 얻을 수 없었다면 폼을 제출했다는 뜻이 아닐까요~
오른쪽 하단에 정보가 있는 것을 확인했습니다. 바이두의 입찰도 이 방법으로 판단하는 것을 참고하시면 됩니다.
예:

test.html:

코드 복사 코드는 다음과 같습니다.

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head> <body style="배경:#a7a7a7;">
<iframe id="testiframe" name="testiframe"></iframe>
<form method="post" action= "http: //www.test.com/testaction.php" target="testiframe" name="testform">
<input type="text" name="dddd"><input type= "submit" value="ddd" name="submitbtn"/>
</body>
<script> document.testform.onsubmit = 함수( ) {
document.testform.submitbtn.disabled = true;
submitMonitor();

}
function submitMonitor() {
try{
var hash = document. getElementById(' testiframe').contentWindow.location.hash;
setTimeout(submitMonitor,100);
} catch (e) {
document.getElementById('testiframe').src = "about:blank ";
document.testform.submitbtn.disabled = false;
}
}
</script>
</html>


참고하세요 다음 코드는 동일한 도메인 이름이 아닌 크로스 도메인입니다.
testaction.php



sleep(5)
echo $_POST['dddd']


단점:
이 단점 또한 404, 403, 500 등의 오류가 발생하면 성공적인 제출로 오해를 받을 수 있다는 점도 자명합니다.
참고: 이 방법은 연구용이며 사고력을 개발하는 데 사용됩니다.
바이두 판단 코드입니다




코드를 복사하세요
코드는 다음과 같습니다 var sfMessTimes ; function sfMessSubmitMonitor () {
try{
var hash = sf_mess_lib.getElement(SF_MESS_FRAME_ID).contentWindow.location.hash
sfMessTimes
if (sfMessTimes > 5 0 ) {
          경고(sf_mess_msg.fail); < l; i ) {
document.getElementById(SF_MESS_PREFIX sf_mess_cols[i].idname).disabled = false;                    }
} 잡기(e ) {
sf_mess_lib.getElement(SF_MESS_FRAME_ID).src = "about:blank";
경고(sf_mess_msg.success);
sf_mess_lib.getElement(SF_MESS_SUBMIT_ID).disabled =
for (var; i = 0, l = sf_mess_cols.length; i < l; i ) {
var inputCfg = sf_mess_cols[i]; var inputEl = document.getElementById(SF_MESS_PREFIX inputCfg.idname)
         inputEl.disabled ;
                                       inputEl.value = filtInnertip(inputCfg.innertip);                             
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Layui에서 양식 데이터를 얻는 방법 Layui에서 양식 데이터를 얻는 방법 Apr 04, 2024 am 03:39 AM

Layui에서 양식 데이터를 얻는 방법

Layui에서 프런트엔드 및 백엔드 상호 작용을 구현하는 방법 Layui에서 프런트엔드 및 백엔드 상호 작용을 구현하는 방법 Apr 01, 2024 pm 11:33 PM

Layui에서 프런트엔드 및 백엔드 상호 작용을 구현하는 방법

Layui 로그인 페이지에서 점프를 설정하는 방법 Layui 로그인 페이지에서 점프를 설정하는 방법 Apr 04, 2024 am 03:12 AM

Layui 로그인 페이지에서 점프를 설정하는 방법

Java에서 Serverlet의 역할은 무엇입니까? Java에서 Serverlet의 역할은 무엇입니까? Apr 12, 2024 pm 02:39 PM

Java에서 Serverlet의 역할은 무엇입니까?

PHP를 사용하여 단일 페이지 애플리케이션을 구축하는 방법 PHP를 사용하여 단일 페이지 애플리케이션을 구축하는 방법 May 04, 2024 pm 06:21 PM

PHP를 사용하여 단일 페이지 애플리케이션을 구축하는 방법

PHP 매개변수 누락 문제에 대한 솔루션 PHP 매개변수 누락 문제에 대한 솔루션 Mar 11, 2024 am 09:27 AM

PHP 매개변수 누락 문제에 대한 솔루션

Java Servlet의 애플리케이션 시나리오는 무엇입니까? Java Servlet의 애플리케이션 시나리오는 무엇입니까? Apr 17, 2024 am 08:21 AM

Java Servlet의 애플리케이션 시나리오는 무엇입니까?

vue에서 이벤트와 $event의 차이점 vue에서 이벤트와 $event의 차이점 May 08, 2024 pm 04:42 PM

vue에서 이벤트와 $event의 차이점

See all articles