본문 바로가기

아티클/팁/.NET / Windows

ActiveX 변경사항 대응 프로그램, ActObject를 공개합니다.

다운로드 :





ActObject는 얼마 전 있었던 ActiveX 변경사항에 대응, html 코드의 수정 없이 필요한 스크립트를 서버측에서 자동으로 생성하도록 하는 서버 컴퍼넌트입니다.


현재 win2003 sp1 환경에서 테스트되었으며, euc-kr, shift-js... 등의 2바이트 문자 및 utf8 웹 페이지를 지원합니다. 유니코드 페이지(UCS16)는 지원하지 않습니다... 만 이 코드 페이지를 쓰는 웹 페이지를 본 적이 없습니다 -_-;



- 참고 : 20060311_[asp뉴스그룹오프라인세미나] ActObject 발표자료

http://blog.naver.com/kenial/140022491158




이 프로그램에 쓰인 기술적인 부분을 요약하자면, 웹 서버로부터 클라이언트로 나가는 패킷을 분석하는 ISAPI Filter입니다. 따라서 IIS 서버에 필요한 ISAPI Filter를 설치하는 작업이 필요합니다.




설치 방법은 다음과 같습니다 :




1. IIS 관리 도구를 실행하고, 적용할 사이트의 등록정보를 봅니다.

  * 이 필터는 사이트별로도 적용할 수 있고, 하나의 웹 서버 전체에 적용할 수도 있습니다. 웹 서버에 적용하고 싶을 경우에는 '웹 사이트'의 등록정보에서 ISAPI Filter를 설치하면 됩니다.







2. ISAPI 필터 탭에서 추가 버튼을 누릅니다.






3. 압축파일에 있는 TagProcess.dll 파일을 적당한 곳에 놓으시고, 연결시켜 줍니다. (필터 이름은 뭘로 해도 별 상관 없습니다.)


4. IIS 6.0의 경우, 이 ISAPI 필터를 사용하도록 허용해야 합니다.
  '새 웹 서비스 확장 추가'를 클릭하신 다음 actobject라는 이름과 tagprocess.dll의 경로를 입력해주시면 됩니다.
5. tagprocess.dll의 권한을 확인해야 합니다.
  IIS 6.0 (windows 2003의 경우)에서는 Network Service 계정에 읽기/실행 권한을,
  IIS 5.0 (windows 2000의 경우)에서는 aspnet 계정에 읽기/실행 권한을 주시면 됩니다.


6. 그리고 같이 들어있는 sg.js 파일을 해당 사이트의 /ActObject/sg.js 경로로 가도록 놓아 주시면 됩니다. 예를 들어 http://abc.com/이 사이트의 주소라면, http://abc.com/ActObject/sg.js이 되어야겠죠.
그런 다음 페이지를 띄워 보시면, 다음처럼 html 코드가 변경되는 것을 보실 수 있습니다.
변경 전 :

<object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
               type="application/x-oleobject"
               codebase="HTTP://ACTIVEX.MICROSOFT.COM/ACTIVEX/CONTROLS/MPLAYER/EN/NSMP2INF.CAB#VERSION=6,4,7,1112"
               width="320" height="240">
<param name="URL" value="http://www.xbox.com/NR/rdonlyres/4F5B8111-F4FF-4EFE-9F8A-8B303FE47748/0/vidkameoe3003Hi.asx"/>
<param name="AUTOSTART" value="TRUE"/>
   <param name="uiMode" value="full"/>
</object>


변경 후 :

<script type="text/javascript" src="/ActObject/sg.js"></script>
<script>
<!--
AO_dw('<object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"');
AO_dw('                type="application/x-oleobject"');
AO_dw('                codebase="HTTP://ACTIVEX.MICROSOFT.COM/ACTIVEX/CONTROLS/MPLAYER/EN/NSMP2INF.CAB#VERSION=6,4,7,1112"');
AO_dw('                width="320" height="240">');
AO_dw(' <param name="URL" value="'" target=_blank>http://www.xbox.com/NR/rdonlyres/4F5B8111-F4FF-4EFE-9F8A-8B303FE47748/0/vidkameoe3003Hi.asx"/>');
AO_dw(' <param name="AUTOSTART" value="TRUE"/>');
AO_dw('    <param name="uiMode" value="full"/>');
AO_dw(' </object>');
-->
</script>


이상입니다. : )