2014-07-15 4 views
1

php desktop을 사용하여 php/html/js 데스크탑 응용 프로그램을 개발 중입니다. 응용 프로그램을 실행하면 PHP 데스크톱이 서버를 실행하고 127.0.0.1:65543과 같이 지정되거나 임의의 포트에서 수신 대기합니다. 사용자가 외부 브라우저에서 URL을 열면 그/그녀가 브라우저 내에서 응용 프로그램에 액세스 할 수 있습니다, 난 그냥 바이너리 PHP는 데스크탑 내부에 내장 된 브라우저에서 내 응용 프로그램을로드 그래서 몇 가지 트릭이나 팁을 필요사용자가 실행 파일 밖에서 phpdesktop 앱을 탐색하지 못하게 하시겠습니까?

나는 사용자 에이전트를 확인할 수 있지만, 안전 원인 PHP는 데스크탑 사용자 에이전트 아니라입니다

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36

트릭을 알고 계시거나 php desktop에 대한 경험이 있으십니까? , 나는 정말로 도움을 주겠다.

+0

정의에 따르면 앱이 이미 컴퓨터에서 실행 중이므로 "임베디드"브라우저 또는 완전한 브라우저를 통해 액세스하는 경우의 차이점은 무엇입니까? "외부"브라우저? –

답변

1

사용자 에이전트 문자열은 매우 구체적이므로 사용자가 확인하는 것이 안전합니다. 사용자는 일반적으로 최신 Google 크롬을 시스템에 설치합니다.

또한 command_line_switches 옵션을 통해 "사용자 에이전트"스위치를 설정하여 자신과 해당 사용자 에이전트 문자열을 덮어 쓸 수 있습니다 : 당신은 또한 "phpdesktop"개체에 대한 자바 스크립트를 통해 확인 할 수있다 https://code.google.com/p/phpdesktop/wiki/ChromeSettings

. 이 객체는 phpdesktop 임베디드 브라우저에서만 사용할 수 있습니다. https://code.google.com/p/phpdesktop/wiki/JavascriptApi

1

사용자 에이전트는 사용자가 원하는 모든 사용자 에이전트를 가질 수 있기 때문에 최상의 솔루션이 아니다. 하지만 보안 문제가 없다면 "MyCustomCallUserAgent"와 같은 "PHP 데스크톱"환경에서 맞춤 사용자 에이전트를 설정하고 에이전트 문자열이 일치하면 PHP를 통해 확인하십시오.

"php desktop"환경의 웹 사이트를 읽을 때 마치 로컬 PHP 서버를 호출하는 Chrome/IE 캔버스가 아닌 것처럼 보입니다. 따라서이 경우 Chrome 자체 또는 Chrome 캔버스에서 스크립트 양식을 호출하는 것의 차이점이 없으므로 차이점을 발견 할 수 없습니다. 단지 $ _SERVER 전역 변수를 읽고 호출 클라이언트를 식별 할 수있는 "고유 한"것이 있는지 확인하는 것이 좋습니다. 하지만 그것은 사용자 에이전트 문자열을 사용하는 것보다 안전하지는 않습니다.

당신은 남자 대신 TideSDK을 시도하고 싶습니다.