2011-08-25 7 views
0

Google은 조직에서 유지 관리하는 기존 (클래식 ASP) CRM을 보유하고 있습니다. 사용자는 웹 앞면을 통해 파일을 업로드 할 수 있으며 네트워크 공유에 저장되며 파일 이름, 업 로더 등은 데이터베이스에 저장됩니다. .config 파일을 제외한 모든 것이 훌륭하고 훌륭합니다..config 파일 검색

어떤 사람들은 이러한 사람들을 잘 다운로드 할 수 있지만 다른 사람들은 다음과 같은 오류 메시지를받습니다. 요청한 페이지 유형이 명시 적으로 금지되어있어 서비스되지 않습니다. '.config'확장자가 잘못되었을 수 있습니다.

일부 사용자 컴퓨터에서는 파일 링크가 "file : // networkshare/filename"(작동)이고 다른 컴퓨터에서는 "http : // networkshare/filename"인 것으로 보입니다. (작동하지 않습니다)

iss6의 .config에 text/plain으로 설정된 MIME 유형이 있습니다. 모든 사용자가 IE8을 실행 중입니다.

페이지의 코드는 데이터베이스에서 반환 된 레코드를 기반으로 href 링크를 만듭니다.

왜 다른 PC의 동일한 브라우저에서 링크가 다르게 렌더링되는 방식에 차이가 있습니까? 사람들이 web.config 사이트를 볼 수있게하는 .config 파일을 어떻게 허용합니까?

링크를 작성하는 코드는 다음과 같습니다 이상한

function getlink(file_nm,path) 
{ 
    thisPage.navigate.CheckDocumentAttachedToRequest(file_nm, path) 
    var sDocLink = path.replace(/\//g,"\\") + "\\" + file_nm; 
    return "<A class=\"parislink2\" TARGET=\"_BLANK\" HREF=\"\\\\" + thisPage.get_sServerName() + "\\" + sDocLink + "\">" + file_nm + "</A>"; 
} 

답변

0

.

클라이언트 요청이 MIME 형식에 정의되지 않은 파일 이름 확장명을 참조하는 경우 IIS 6이 404.3 오류를 반환한다는 것을 알고 있습니다.

그러나 정의되어 있습니다. 와일드 카드 ()를 사용하여 테스트 해 볼 수 있습니다. (파일 확장자는이고 MIME 유형은 text/plain입니다.) 와일드 카드는 보안 상 위험 할 수 있습니다. 그러나 configs를 사용하고 있다면 ...이 응용 프로그램과 서버는 네트워크에 내부적으로있을 수 있습니다. 와일드 카드.

또한 ISAPI 확장 (필터가 아니라 확장이 아닌)을 확인하고 .config 이 아직 거기에 있는지 확인합니다. 기본적으로 있어야합니다.

IIS의 전역 수준에서 MIME 형식을 정의하면 폴더 수준에서 설정된 모든 MIME 형식을 필터링하고 무시해야합니다.

MIME 리셋을 할 때마다 IIS를 재설정해야합니다.

아마도 브라우저 문제일까요? (작동하지 않는 링크의 클라이언트 측 문제 "브라우저 제어"와 같은 문제)

링크를 만들 때 일부 브라우저가 올바르게 기능을 해석하는 것처럼 보입니다. . 그리고 다른 이들은 함수 호출에서 HTML을 렌더링 할 때 "파일"대신 "http"를 프로토콜로 대체합니다. 아마도 당신은 우리의 기능을 하드 코드 할 수 있습니다 "파일 :"귀하의 링크 코드의 시작 부분에 배치되는 문자열로. (서버에 의해 보내진 HTML 또는 IE8에 의해 렌더링 된 "http"문자열을 덮어 씁니다.)

위의 게시물에서 보안상의 이유로 와일드 카드가 필터링되었습니다.(와일드 카드 = "별표")

+0

나는 파일 접두사를 하드 코딩했다. 나는 이런 식으로하고 싶지 않지만 일을 마쳤다. – Curtis