2008-10-31 6 views
6

내 웹 사이트가 신뢰할 수있는 사이트로 액세스되고 있는지 확인할 수 있습니까? another question에서 우리는 일반적으로 클라이언트 IE 설정에 대한 가시성을 신중하게하지 않는 것으로 결정했습니다. 이것이 예외적 인 자격인가?IE가 내 사이트를 신뢰할 수있는 사이트로 액세스하는지 확인하는 방법은 무엇입니까?

내가하고 싶은 이유는 사이트가 신뢰할 수있는 사이트 (예 : 클라이언트 측 센드 메일 - 요청하지 않음)로 액세스하지 않는 한 일부 기능이 작동하지 않는다는 것입니다. 사용자에게 경고 할 수 있습니다. 페이지의 많은 경고에도 불구하고 많은 사용자가 여전히 읽지 않으며 우리에게 불쾌감을줍니다. 이 상태를 감지하고 기본적으로 ""이라는 큰 경고가 깜박이면 이메일 볼륨을 줄이고 싶습니다. 설정을 변경하기 전까지는 경고를 읽지 않았으며 시도하려는 내용이 작동하지 않습니다. "어떤 아이디어라도 환영합니다.

EDIT : 클라이언트 측 sendmail은 사이트가 신뢰할 수있는 경우에만 작동하며 보안 요구 사항으로 인해 변경할 수 없으며 서버 측 sendmail로 전환 할 수 없습니다. 그러나 이것이 클라이언트 측 sendmail이 실패하는 유일한 이유는 아니므로,이를 판별하기 위해 sendmail 오류를 잡을 수는 없습니다. 또한, 나는 이것이 센드 메일 토론으로 저하되는 것을 원하지 않는다.

+0

먼저, 이것을 위해 몇 가지 샘플 코드를 제공 할 수 있습니까? 나는 try/catch가 그것을 어떻게 해결하지 못하는지 보지 못한다. 둘째로, 저는 기술/구현에 대한 전쟁을 원하지 않는다는 것을 알고 있습니다 만, 왜 전자 메일을 이런 식으로 보내려고하는지 물을 수 있습니까? 그것은 가장 안정적인 옵션처럼 보입니다. – scunliffe

+0

응용 프로그램은 여러 Sarbanes-Oxley 관련 응용 프로그램에 대한 변경 권한 부여 메커니즘의 일부를 지원합니다. 보안 전문가들은 클라이언트 쪽 센드 메일이 보낸 사람 주소를 스푸핑하지 못하도록하는 유일한 방법이라고 주장합니다. 아무 논쟁도 그들의 마음을 바꾸지 않을 것입니다. –

+0

@Ken Paul, 신뢰할 수있는 사이트를 발견하는 데 대한 아이디어가 있으니 ... 제발 .. 제발 .. –

답변

0

필자가 이해할 수는 없지만 필요한 특정 기술 또는 기술의 가용성과 같은보다 구체적인 조건에 대한 테스트가있을 수 있습니다. 클라이언트 코드가 브라우저에 어떤 유형의 요구 사항 (ActiveX, Java, 스크립팅 등)이 있습니까? 클라이언트 코드에서 요구하는 환경에 맞게 클라이언트 브라우저를 테스트하는 방법을 파악하는 것은 매우 좋은 출발점이 될 것입니다.

+0

질문에 실패한 기술에 대한 설명을 추가했습니다. 그래도 도움이 될지 모르겠다. –

2

여기 당신이 사용할 수있는 테스트입니다 :

function isTrustedIE(){ 
    try{ 
     var test=new ActiveXObject("Scripting.FileSystemObject"); 
    } 
    catch(e){ 
     return false; 
    } 

    return true; 
} 

이 의지 물론, 실패 사용자가 사용할 경우 심지어 신뢰할 수있는 사이트에 특정 객체.

+0

나는 그것을 시도하고, 그것은 작동하지 않았다. 신뢰할 수있는 사이트와 신뢰할 수없는 사이트 모두에서 사실로 돌아 왔습니다. 나 (그리고 나의 전형적인 사용자들)와 비교할 때 신뢰할 수있는 영역과 신뢰할 수없는 영역 사이에는 다른 차이점이 있다고 생각한다. –

0

현재 로그온 한 사용자의 사용자 이름을 물어볼 수 있습니다. 사용자가 "신뢰할 수있는 사이트"또는 "로컬 인트라넷"영역에 있다는 것을 알게되면 사용자 이름을 물어볼 수 있습니다.

+0

나는 이것을 테스트하고 결과를보고 할 것이다. 고마워요. -이게 희망적으로 보입니다. –

+0

이것은 도움이되지 않았습니다. 사람들은 사이트가 신뢰할 수 있는지 여부에 관계없이 WShell.Script 개체를 열 수 있다는 ActiveX 경고를 받아들이는 데 익숙합니다. –

0

이 문제를 해결하고 특이한 조합을 계속 지원하는 좋은 방법은 특정 동작이 성공했는지 여부를 테스트하는 것입니다. 예를 들어

, 당신은 당신이 innerHTML을 변경되었는지 여부를 확인할 수 있습니다

a.innerHTML = "abc"; 

을 수행해야합니다. 불행히도 모든 기능을 감지 할 수 있다고 확신 할 수는 없습니다. 또한 try ... catch 문이 매우 유용 할 수 있습니다.

0

당신이 처한 상황 (센드 메일 문제가있는 곳)에서는 여전히 센드 메일을 잡는 것이 좋습니다.하지만 좀 더 일반적인 대답을 제시하십시오. "귀하의 메일이 실패했습니다. 다음과 같은 이유로 실패했을 수 있습니다."그리고 글 머리 기호 목록을 던져보십시오. 상단에 멋지고 대담한 "이 사이트를 신뢰할 수 없게 만들었습니다." sendmail이 사이트를 신뢰할 수 없게하는 것 이외의 이유로 실패한 경우 사용자는 결국 그 사실을 알아야 할 수도 있습니다.

관련 문제