2012-10-21 5 views
1

나는 Cocoa/CocoaTouch의 UIWebView를 사용하는 웹 기반 응용 프로그램을 가지고 있습니다. 모든 HTTP 연결을 강제로 HTTPS에 연결하려면 (필요합니까?) 원합니다. 초기 HTTPS 방문 URL과 모든 중간 가져 오기를 HTTPS에도 강제로 적용하는 데 관심이 있습니다. 동기 : New Tricks for Defeating SSL in Practicesslstrip.iPhone과 UIWebView : 강제로 HTTPS (URL 재 작성)

HTTPS 만 사용하도록 WebView를 구성 할 수 있습니까? UIWebView documentation은 HTTPS를 언급하지 않습니다. 애플이 나를 disable JavaScript in a UIWebView으로 허락하지 않는다는 것을 고려해 볼 때, 내가보기에 설정 변경을 할 수 있을지 의심 스럽다.

아니면 대답은 NSURLRequest, NSURLConnection 어딘가에 있으며 가능하면 위임 방법입니까? URL Loading System Overview을 읽고 어디에서 요청을 변경할 수 있는지 보지 못합니다.

답변

1

요청을 변경하려면 UIWebView를 프록시하여 모든 요청을 차단하고 http를 https로 바꾸고 프록시에서 요청을 보내면됩니다. 이 작업을 수행하는 한 가지 방법은 NSURLCache를 하위 클래스로 만들고 cachedResponseForRequest 메서드를 재정의하는 것입니다.

+0

안녕하세요 xrcsblue. 여기 내 무지를 용서해주십시오. 프록시가 다른 클라이언트를 요청할 필요가 없습니까? – jww

+0

나는 외부 프록시를 의미하지는 않습니다. 브라우저가 요청을하면 앱 코드의 하위 클래스에있는 메소드가 호출되고 url + 데이터 요청이 전달됩니다. 그러면 다른 URL로 동일한 요청을 전달할 수 있습니다 (https를 https로 변경). 당신의 사건) – xrcsblue

+0

OK, 고마워. XXXX (4 개를 더 충족시키기 위해) – jww