2012-07-03 2 views
0

Web App Security에 대한 멋진 책을 끝내고 보안 질문이 있습니다. 사용자가 내 웹 사이트에서 동영상을 공유하도록 허용하고 싶습니다. 어쨌든 youtube와 vimeo embedding에 제한을 두지 않고 저장 공간을 절약 할 수 있지만 사이트에서 신뢰할 수없는 코드가 실행되는 것을 원하지 않습니다.사용자가 내 웹 사이트에서 비디오를 안전하게 공유하는 방법

그럼 어떻게해야할까요?

참고로, 저는 node.js 위에 express.js를 사용하고 데이터베이스에는 couchdb를 사용하고 있습니다.

답변

1

신뢰할 수없는 코드는 무엇입니까? 외부 비디오에 대한 참조를 데이터베이스에 저장할 수 있으며이를 사용하여 플레이어를 자신의보기에 포함시킬 수 있습니다. 이 작업을 수행하려면 Youtube 또는 Vimeo의 코드를 서버에서 실행해야합니다. Youtube API를 사용하면 사용자가 웹 서버를 통해 프록시하지 않고도 브라우저에서 Youtube로 직접 비디오를 업로드 할 수 있습니다. 즉, 사용자는 응용 프로그램의 서버 측에 타사 코드없이 YouTube 비디오를 업로드하고 포함 할 수 있습니다.

https://developers.google.com/youtube/2.0/developers_guide_protocol_browser_based_uploading#Browser_based_uploading

당신이 간단하게 사용할 수있는, 비디오 ID에서 링크를 만들려면 :

var directLink = "http://youtube.com/watch?v={0}".format(videoId); 
var embedLink = "http://youtube.com/embed/watch?v={0}".format(videoId); 
var shortLink = "http://youtu.be/watch?v={0}".format(videoId); 
+0

저장 참조 정확히 내가 가지고 기대 된 방법이지만, 참조 처리하는 방법은 명확하지 않습니다 나를. YouTube 동영상이 http://www.youtube.com/watch?v=LdGLZPyPCkA 인 페이지에 대한 URL이 있습니다. 그런 다음 소스 코드 http://www.youtube.com/embed/LdGLZPyPCkA에 URL이 있습니다. 공유 옵션 http://youtu.be/LdGLZPyPCkA에 단축 URL이 있습니다. 그렇다면이 링크들 각각을 다루는 방법을 알고있는 코드를 어떻게 작성합니까? – Costa

+1

해당 링크 모두에 공통 요소가 있음을 확인하십시오. 저장할 수있는 것은 LdGLZPyPCkA이고보기가 생성 될 때 사용되는 방법에 따라 나머지 URL을 작성합니다. –

+0

Genius! 너 락! 흠 ... 그래서 정규 표현식을 잡는 것은 약간 까다로울 것입니다. 비디오 ID 뒤에 다른 쿼리 매개 변수가있는 경우를 제외하고 마지막 11자를 가져옵니다. 흠 ... 다른 사람들이 어떻게하는지 Google에서 검색해 봅시다. 티모시 너무 고마워 !! – Costa