양식이있는 iFrame이있는 프레임 세트가 있습니다. 양식을 제출할 때 IE8은 양식 값을 보내지 않습니다. Firefox는 않습니다. 주변 프레임 세트가 없으면 작동합니다.IE8 : iFrame에서 양식을 제출하면 작동하지 않습니다.
form.php :
<form method="post" action="doit.php" name="myForm" id="myForm" target="myFrame">
<input type="hidden" id="customer__csrf_token" name="customer[_csrf_token]" value="0136dba17fc1a81dc2c3b44dcb513712" />
...
<a onClick="document.myForm.submit();">Send</a>
</form>
site.html :
<iframe id="myFrame" name="myFrame" src="form.php" frameborder="0" >foo</iframe>
index.html을 :
이
내 코드입니다<html>
<head></head>
<frameset rows='100%,*'>
<frame name='target' src='site.html'>
<noframes>foo</noframes>
</frameset>
</html>
(3210)는 또한 이러한 호출과 양식을 제출하려고 : 당신이 나를
$('#myForm').submit();
document.forms['myForm'].submit();
parent.frames['myFrame'].document.forms['myForm'].submit();
<input type="submit" value="send" name="send" id="send" />
도와 드릴까요?
편집 :
가 나는 문제를 발견했다. 심포니 프레임 워크를 사용합니다. 심포니는 숨겨진 csrf 토큰을 쿠키 값과 함께 사용하여 양식 전송을 보호합니다. 제 경우 IE8은 어떤 이유로이 쿠키를 저장할 수 없습니다. 이제 올바르게 작동하도록 양식에서 csrf 토큰을 제거했습니다.
CSRF 값을 자신이 여는 양식에서 제거하여 CSRF 공격까지 이해할 수 있습니다. 이는 양식이하는 일에 따라 크게 다를 수도 있고 그렇지 않을 수도 있습니다. –
감사합니다. 질문과 후속 수정 : 내가 경험했던 버그의 방향으로 나를 지적했습니다. +1 – Christopher