비메오 소스가 저절로 바뀌어요
본문
게시판 글쓰기에서 비메오 영상 재생 소스를 붙이면...아래와 같이 됩니다.
<object width="600" height="339"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=128057373&autoplay=1&loop=1&show_title=0&show_byline=0&show_portrait=0&force_embed=vimeo.com&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=128057373&autoplay=1&show_title=0&show_byline=0&show_portrait=0&force_embed=vimeo.com&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="339"></embed></object>
그런데 익스11에서 재생이 안되어서 봤더니 소스가 이렇게 수정되어 있더라구요
<object width="600" height="339"><param name="allowscriptaccess" value="never"><param name="allowfullscreen" value="true" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=128057373&autoplay=1&loop=1&show_title=0&show_byline=0&show_portrait=0&force_embed=vimeo.com&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=128057373&autoplay=1&show_title=0&show_byline=0&show_portrait=0&force_embed=vimeo.com&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" width="600" height="339" allowscriptaccess="never"></embed></object>
수정으로 들어가서 보면 처음 올린거 그대로고...
어느부분이 바뀌었냐면
<param name="allowfullscreen" value="true" /> 가 <param name="allowscriptaccess" value="never">
로 되었구요
<param name="allowscriptaccess" value="always" /> 가 <param name="allowfullscreen" value="true" />
로 바뀌었구요
또
allowscriptaccess="always" 는 allowscriptaccess="never"
이렇게 바뀌었네요......
이거 제가 올린대로 나오게 할 수 있는 방법은 없나요?
이게 나와야 모든 브라우저에서 정상적으로 재생되는데요....
고수님들 방법을 알려주세요
답변 1
그누보드/lib/common.lib.php 파일에서 변경하게 되어 있습니다.
아래 코드에서 변경되는 부분을 주석으로 막으시면 재생은 가능하나 일반 회원이 악의적인 코드를 넣으면 문제가 될 수 있습니다.
// 플래시의 액션스크립트와 자바스크립트의 연동을 차단하여 악의적인 사이트로의 이동을 막는다.
// value="always" 를 value="never" 로, allowScriptaccess="always" 를 allowScriptaccess="never" 로 변환하는데 목적이 있다.
//$content = preg_replace("/((?<=\<param|\<embed)[^>]+)(\s*=\s*[\'\"]?)always([\'\"]?)([^>]+(?=\>))/i", "$1$2never$3$4", $content);
// allowscript 속성의 param 태그를 삭제한다.
//$content = preg_replace("#(<param.*?allowscript[^>]+>)(<\/param>)?#i", "", $content);
$content = preg_replace("#<param[^>]+AllowScriptAccess[^>]+>(<\/param>)?#i", "", $content);
// embed 태그의 allowscript 속성을 삭제한다.
//$content = preg_replace("#(<embed.*?)(allowscriptaccess[^\s\>]+)#i", "$1", $content);
// 이부분 주석 추가
//$content = preg_replace("#(<embed[^>]+)(allowscriptaccess[^\s\>]+)#i", "$1", $content);
// object 태그에 allowscript 의 값을 never 로 하여 태그를 추가한다.
// 이부분 주석 추가
//$content = preg_replace("#(<object[^>]+>)#i", "$1<param name=\"allowscriptaccess\" value=\"never\">", $content);
// embed 태그에 allowscrpt 값을 never 로 하여 속성을 추가한다.
// 이부분 주석 추가
//$content = preg_replace("#(<embed[^>]+)#i", "$1 allowscriptaccess=\"never\"", $content);