2016-10-20 8 views
0

저는 이것을 wazoo에 대해 조사했지만 아무 소용이 없습니다. 내부적으로 TLS 1.1 또는 1.2가 필요한 페이지가 있습니다. 페이지가로드하는 대신 TLS 오류를 throw합니다.

This page can’t be displayed

Turn on TLS 1.0, TLS 1.1, and TLS 1.2 in Advanced settings and try connecting to https://SITEADDRESS again. If this error persists, it is possible that this site uses an unsupported protocol or cipher suite such as RC4 (link for the details), which is not considered secure. Please contact your site administrator.

은 분명히 수정 IE에서 그 암호 군을 설정하는 것입니다 : 그들은을 사용하고 있지 않은 경우 오류가 발생합니다. 그러나 내가 페이지에 넣고 싶은 것은 수표인데, 사이트에서 미리로드하고, 보이는/읽을 수있는 /로드 가능한/무엇이든지를 확인한 다음, 사용자가 앞으로 나아갈 수있게하거나, 내가 무엇이든지 체크하면 다른 곳으로 직접 보내거나 읽을 수는 없습니다.

그래서 내가 해봤은 그것을 밖으로 페이지 코드를 당겨 덤프 할 수있는 끝,

<?php 
$contents = file_get_contents('https://SITEADDRESS'); 
echo "<pre>"; 
var_dump($contents); 
echo "</pre>"; 
?> 

그러나 같은 주소의 PHP의 file_get_contents을하고 있었다?!?!? 즉, 페이지에 액세스 할 수 있음을 의미하지만 정상적으로로드하려고 할 때 TLS 오류가 발생하기 때문에 페이지를 액세스 할 수 없다는 것을 알고 있습니다.

질문 : 어떻게 렌더링하지 않을 수있는 페이지로 사용자를 전달하기 전에 TLS를 사용하여 URL을 사전 검사 할 수 있습니까?

+0

가능한 복제 [PHP 파일 \ 실패 _GET \ _contents, 대신 이렇게 할 경우 (http://stackoverflow.com/questions/8673272/php-if-file-get-contents-fails-do- this- 대신) –

+0

php는 브라우저의 제한 사항에 구속되지 않습니다. PHP가 사용하고있는 ssl 스위트가 충분히 오래되었거나 다르게 설정되어 있다면, 여전히 쓸모없는 암호 세트를 허용 할 수 있습니다. –

답변

1

서버 측과 클라이언트 측이 혼재 된 것처럼 보입니다.

나는 PHP는 서버 측를 실행하는 가정 , 그것은 확실히 IE의 암호의 선택 (나는 클라이언트 측을 실행하는 가정이야하는)에 의해 영향을받지 않습니다. 그 날 알고 내가 더 말을주지하자, 이해가되지 않는 경우

...

내가 제대로 이해하고있어 경우, 당신은 당신의 자신의 논리가 클라이언트에서 실행합니다 (IE) 클라이언트 (IE)이 URL에 도달 할 수 있는지 검색합니다. IE는 당신의 자바 스크립트 코드에 여부 TLS 오류를 통과 할 경우

당신은 자바 스크립트 (예를 들어, https://api.jquery.com/jquery.get/)

YMMV를 통해 비동기 요청을 발사 시도 할 수 있었다, 나는 확실하지 않다. 이를 가정하면 최소한 (자바 스크립트 HTTP 요청에서 발생하는) 모든 오류 이벤트를 처리하고 클라이언트가 진행하려고해서는 안된다고 가정해야합니다. 머리에이 파일을로드

+0

서버 측에 대해 좋은 점. 슬프게도 jquery.get 문제는 ​​동일한 출처 정책 때문에 외부 URL을 가져 오지 못하게한다는 것입니다. –

+0

JSONP는 어떻습니까? https : //learn.jquery.com/ajax/working-with-jsonp/짚고 마시는듯한 iframe 또는 픽셀 이미지 (동적으로 DOM에 추가) 및 성공적인 콘텐츠 로딩을 확인 하시겠습니까? (실제로 데이터에 액세스하는 것은 신경 쓰지 않고 성공한 요청 일뿐입니다.) – wally

+0

나는 한 단계 더 나아갈 수 있다고 생각합니다. (추함이 증가하더라도) - 및

0

...

<script type="text/javascript" src="https://SITEADDRESS/api/start_session.js"></script> 

그런 다음 BG가로드 된 파일에서 VAR입니다 변수 BG의 존재를 확인. BG가 정의되지 않은 경우 (존재하지 않는 경우) 무언가가 외부 도메인에 대한 액세스를 차단하므로 DIV를 적절하게 표시하거나 숨겨 사용자가 잘못된 사이트로 전송되는 일은 절대 없습니다.

window.onload = function() { 
    if (typeof BG !== 'undefined') { 
     document.getElementById('test1').style.display = 'block'; 
     document.getElementById('test2').style.display = 'none'; 
    } else { 
     document.getElementById('test1').style.display = 'none'; 
     document.getElementById('test2').style.display = 'block'; 
    } 
}; 
관련 문제