2011-04-12 2 views
0

영광하지의 crossdomain.xml. 현재 seeon.flv가있는 서버의 crossdomain.xml이 없어도 비디오가 제대로로드됩니다. 이것은 내가 원하거나 기대하는 동작이 아닙니다. 는이 사이트 <a href="http://aiskacang.com/crawl/pseudo.html" rel="nofollow">http://aiskacang.com/crawl/pseudo.html</a></p> <p>플레이어는 다른 도메인에서 FLV 비디오 파일 seeon.flv로드에 비디오 플레이어가 jwplayer

가 나는 또한 다음과 같은 내용으로 crossdomain.xml 파일을 퍼팅 시도 :

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM 
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
<site-control permitted-cross-domain-policies="none"/> 
</cross-domain-policy> 

불을 지르고에서, 나는 비디오 파일에 액세스하기 전에 crossdomain.xml에 대한 요청이 있다고 볼 수 있습니다 (seeon.flv). 콘텐츠 형식이 application/xml 인 콘텐츠를 정상적으로 반환하지만 여전히 도메인 간 동작을 허용합니다.

아이디어가 있으십니까?

+0

가능한 중복 htaccess로 에 서버 규칙에 원격 콘텐츠 주입을 거부 할 시도 할 수 있습니다. http://stackoverflow.com/questions/5211846/is-flash-cross-domain-useless –

+0

링크를 제공해 주셔서 감사합니다. 하지만 2 가지. 1 : 포스터의 첫 번째 문제에 대한 설명이 아직 없습니다. 첫 번째 시나리오가 실패한 이유는 무엇입니까? 2 : 플래시 플레이어가 왜 미디어 용 crossdomain.xml을로드합니까? – yingfan

답변

0

크로스 도메인 정책을 혼동스럽게하는 것처럼 들릴 수 있습니다. Crossdomain 액세스를 허용하지 않더라도 콘텐츠가로드되고 표시되는 것을 방지하지 못합니다. 대상을로드하여 표시 한 후 다른 도메인의 콘텐츠 간 액세스를 제한합니다. 예를 들어 A.swf가 B.swf를로드하면 A는 B 내부의 메서드를 호출 할 수 없지만 B는 여전히로드됩니다.

보통 웹 서버 수준에서 수행되는 hotlinking protection입니다. (즉, FLV 서버의 Apache/IIS/etc에서 규칙을 작성하여 다른 도메인의 페이지에 제공되지 않도록하십시오.)

+0

나는 hotlinking 알고 있습니다. hotlinking 문제는 jwplayer가 HTTP 리퍼러를 보내지 않는다는 것입니다. 그러면 동일한 도메인 내에서도 비디오가로드되지 않습니다. 더 중요한 것은 크로스 도메인 액세스를 허용하는 화이트리스트를 제공해야합니다. – yingfan

+0

. JWP에서 hotlinking을 사용할 수있는 방법이 있는지 모르겠지만 어쨌든 비디오가 재생되는 이유는 분명합니다. Flash가 비디오 파일에 대한 정책을로드하는 이유에 대한 위의 의견에 대답하기 위해 모든 외부로드에서 수행하는 것으로 알고 있으며 정책이 실행되는 경우는 여전히 남아 있다고 생각합니다. 예 : 로드하는 SWF가로드 된 FLV를 BitmapData에 그리려면 크로스 도메인 액세스가 허용되지 않으면 작동하지 않아야합니다 (그러나 100 % 확신 할 수는 없습니다). – fenomas

0

Jwplayer를 크로스 도메인 파일 주입으로부터 보호하려면 내장되어 있지 않습니다. crossdomain.xml은 도움이되지 않습니다.

당신은 http://www.masterdef.net/blog/jwplayer-crossdomain-remote-video-injection/#more-32

### Deny SWPlayer remote files access 
########## Begin - File injection protection 
RewriteCond %{REQUEST_METHOD} GET 
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http [OR] 
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] 
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] 
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] 
RewriteRule .* - [F] 
########## End - File injection protection