브라우저와 기본 애플리케이션간에 안전하게 통신 통신 할 수 있도록 브라우저 샌드

로컬로 설치된 기본 응용 프로그램 브라우저에서만 가져올 수있는 데이터가 필요한 웹 응용 프로그램을 작업 중입니다.

기본 응용 프로그램과 안전하게 통신 할 수 있도록 브라우저 샌드 박스를 어떻게 다룰 수 있습니까?

내가 찾은 유일한 예에서 사용자는 수동으로 두 토큰 사이에서 일부 토큰과 파일을 이동합니다. 이것은 피하고 싶은 끔찍한 사용자 경험입니다.



답변

기본 응용 프로그램에 웹 서버를 포함시킨 다음 클라이언트가 http : // localhost / xyz 에 대한 하드 코딩 된 링크를 통해 웹 서버를 호출 할 수 있습니다 (여기에서 크로스 사이트 스크립팅 경고에 대해 걱정하거나 서버를 실행해야 할 수 있음) http가 아닌 포트에서). 웹 소켓을 사용하는 경우 브라우저가 통신을 시작하면 기본 애플리케이션이 웹 브라우저로 데이터를 푸시 할 수도 있습니다.

임베디드 로컬 브라우저 컨트롤은 맞춤형 웹 서버에서 시각화 데이터를 요청하고 개발 할 때 동일한 PC에서 둘 다 실행합니다.

C / C ++ (Mongoose, NxWeb, civetweb 등)을위한 작고 효율적인 내장 웹 서버가 많이 있으며 C #은 완전한 WCF 서버를 사용하는 경향이 있으며, 파이썬에는 IIRC에 작은 웹 서버가 있습니다.


답변

기본 앱과 브라우저 앱을 혼용 할 수있는 몇 가지 방법이 있습니다.

PhoneGap 앱이 모바일에서하는 것처럼 브라우저를 기본 앱에 내장 할 수 있습니다. 그러면 브라우저의 자바 스크립트 엔진을 확장 할 수 있고 둘 사이에서 전화를 걸 수 있습니다.

또는 아키텍처를 다시 생각하십시오. 기본 애플리케이션과 브라우저 기반 애플리케이션 모두 서버를 중간으로 사용하십시오. 따라서 브라우저와 기본 응용 프로그램은 웹 서버와 만 통신하여 필요한 경우 두 서버간에 정보를 전달합니다.

또는 기본 기능이 필요한 경우 단일 기본 응용 프로그램을 만드십시오.

통제 된 환경에서 실행되는 응용 프로그램 이외의 다른 것에 대해서는 ‘로컬 웹 서버’접근 방식을 권장하지 않습니다. 지원 요구 사항이 최소 인 최종 사용자 컴퓨터에 소프트웨어를 설치하고 실행하려는 경우 전체 방화벽 및 바이러스 백신 소프트웨어 관련 문제를 처리해야합니다.


답변