2010-07-06 2 views
1

프로젝트 용베이스 캠프에 자동으로 로그인하는 스크립트를 작성 중입니다 ... 지금까지 간단한 방법으로 다음과 같은 게시물을 제출했습니다.Internet Explorer에서 iframe을 통해 HTTPS를 제출하는 중 문제가 발생했습니다.

<html> 
<head> 
<style> 
#bc1{ width: 100%; height: 350px; } 
</style> 
</head> 
<body> 

<iframe id="bc1" name="_bc1"></iframe> 

<form method="post" id="bcform" action="https://launchpad.37signals.com/session" target="_bc1"> 
<input name="authenticity_token" type="text" value="PyweDIeBkqaAOltDviI/nOADpyrESRDf77R2v7W/6tM=" /> 
<input id="product" name="product" type="text" value="basecamp" /><br/> 
<input autocapitalize="off" autocomplete="on" class="overlayable" id="username" name="username" title="Username" type="text" /> 
<input autocomplete="on" class="overlayable" id="password" name="password" title="Password" type="password" /> 
<input name="commit" type="submit" value="Sign In" /> 
</form> 

</body> 
</html> 
이 IE8를 제외한 모든 브라우저에서 작동

(그리고 아마도 7, 6)베이스 캠프 로그인에

유형/암호 텍스트 상자에 넣고 로그인을 클릭 한번 해보 : iframe을합니다.

IE에서이 구분이 왜 다른 브라우저에서 작동하는지 누가 알 수 있습니까?

답변

3

HTTPS를 통해 초기 페이지를 게재하지 않는 경우 iframe 내에서 HTTPS를 사용하더라도 iframe 자체의 URI가 공격자에 의해 변경 될 수 있고 사용자가이를 알지 못하기 때문에 보안이 추가되지 않습니다. : 자격 증명이 지금 게시 된 대신 쿼리 문자열의 일부로 보내 할 수 있기 때문에

HTTP and HTTPS iframe

+0

사실, 일부 보안을 추가 않습니다. 따라서 적어도 iframe을 사용하면 서버 액세스 로그에 암호가 일반 텍스트로 표시되지 않도록 할 수 있습니다. – Leven

+0

@Leven, POST 또는 GET을 사용하면 iframe을 사용할지 여부와 아무 관련이 없습니다. 물론 GET과 함께 암호를 사용하는 것은 종종 나쁜 생각입니다. – Bruno

+0

@ 브루노아, 경우에 따라 다릅니다. HTTP 호스팅 페이지에 나타나는 로그인 팝업 폼을 상상해보십시오. 동일한 출처 정책으로 인해 해당 페이지에서 HTTPS에 대한 Ajax POST를 수행 할 수 없습니다. JSONP를 사용하여 GET이 가능하지만 쿼리 문자열에 비밀번호를 전송합니다. HTTPS를 통해로드 된 iframe을 사용하여 HTTPS를 통한 POST를 수행 할 수 있습니다. 이는 제 생각에 좀 더 안전합니다. – Leven

관련 문제