어떻게 비활성화합니다 절약합니다 " 비디오 As."; # 39 에서 client 에서 다운로드 메뉴에서 마우스 오른쪽 단추로 클릭합니다 browser& 막기 위해, s 비디오?
더욱 완벽한 솔루션을 발생합니까 차단할 수 있는 파일 경로를 통해 직접 클라이언트뿐 액세스하면?
, T # 39 can& 있습니다. # 39, s, s # 39 that& that& 때문에 어떤 브라우저를 작업을 할 수 있도록 했다. 콘텐츠 경배하되. 그러나 다운로드할지 어려울 수 있습니다.
맞춤형 비디오 플레이어 라이브러리를 사용할 수도 있습니다. 대부분 비디오 플레이어 구현하십시오 사용자정의할 컨텍스트 메뉴에서 원하는 대로. 그래서 니말은 don& # 39, t get 기본값입니다 있지만브라우저에 컨텍스트 메뉴. 만일 그들이 행하는모든 판매업체에서 메뉴 항목을 경배하되 비슷한 다른 이름으로 저장, 이 옵션을 사용하지 않을 수 있습니다. 하지만, 이는 JS 해결하십시오. 이전 옵션이 공략점 비슷합니다.
또 다른 방법으로 사용할 수 있는 것은 비디오 경배하되 HTTP 라이브 스트리밍. Chop 은 기본적으로 어떤 최대 정보기술 (it) 및 비디오 salesforce. 청크를 경배하되 차례로. 대부분의 비디오 스트리밍 사이트 경배하되 방법입니다. 그래서 저장할 수 있는 경우에만 경우에도 청크가 전체가 아닌 다른 이름으로 저장, 비디오. 조금 더 걸리는 모든 청크를 및 일부 전용 소프트웨어를 사용하여 patran 작업량의 취합하려면 합칩니다.
다른 방법은 엿볼 수 있는 ',', ',' 에 페인트합니다 < video> <, canvas>] 3. 이 기법을 잠시 JavaScript, what you see, 이 사이트는 ',' 프레임 '에서 < canvas> 렌더링합니다 <, video>, 요소 숨김'. # 39, s, a ',' canvas> < it& 있기 때문에, ',' & # 39, img> < 컨텍스트 메뉴를 사용할 수 있는 ',' & # 39 의 메뉴, video> < 아닌, s. 대신, ll get a 그림으로 지정하시겠습니까 you& # 39 세이브 비디오로.
[치프 토큰] [4] 데이터베이스에구성원을 이점을 사용할 수도 있습니다. # 39, d 가 서버에 you& 하늘로부터 증표지 페이지에서. 그런 다음 페치할 토큰인지 사용하는 데 사용하는 비디오. # 39 서버의 경우 유효한 토큰인지 it& 있는지, s 비디오, 또는 받기 전에 [HTTP 401] [5] 역할을 한다. 이 아이디어는 얻을 수 있는 거라곤 비디오 함으로써 얻을 수 있는 거라곤 증표지 경우 직접 방문한 것은 came from the 페이지이므로 비디오 uirl.
하루가 끝날 때, I& 동영상 사이트 유튜브 등 단지 내 업로드하십시오; d # 39 타사 비디오, 또는 비메오. 그들은 훌륭한 비디오 관리 툴, 그들은 그들의 비디오 장치에 대한 플레이백을 최적화합니다 방지하기 위한 노력이 전혀 못하게 작업량의 추출된 따라 끝.
[4]: http://en.wikipedia.org/wiki/Cross-site_request_forgery # 예방 [5]: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes # 4xx_Client_Error
루리틴진 켜짐이 % ^} {http_referer 루릿콘드 제공합니다. $ [nc] http://foo.com/ % ^} {http_referer 루릿콘드 제공합니다. $ [nc] http://www.foo.com/ 루릿룰. (avi mp4 mp3) $ - [F]
, 이제 소스 링크 사용할 수 있는지 확인해야 하지만 우린 여전히 모든 사용자 파일을 직접 파일을 다운로드하십시오 시도중입니다 就不可能拥有 지냈다. < br>;
<, 오 콘테스타메노 = false;;; > " 복귀하십시오 바디입니다 ".
< br>;
www.foo.com/player.html , 가 제대로 비디오 재생 신앙이니라 방문할 때 www.foo.com/videos/video.mp4: >. Error Code 403: 금기한
< br>;
제가 가장 좋은 방법은 대개 매우 간단한, 내가 완전히 비활성화합니다 컨텍스트로 메뉴에, 전체 페이지를 순결케 html+javascript:
<body oncontextmenu="return false;">
기도하라주여 좋습니다. 내가 직접 사용할 수 있는 브라우저 보기입니다 source" "; 하지만 우리는 처음부터 및 it& # 39, s, T 진정한 사실을 'html5' 동영상 다운로드 정지점을 CAN& # 39 있습니다.
개발자는 클라이언트측 추천합니까 물방울 uirl, 내가 사용할 수 있다 물방울 클라이언트측 uirl 가리키는 url 은 이진 오브젝트
<video id="id" width="320" height="240" type='video/mp4' controls > </video>
leave your 비디오 ',' 빈 HTML 의 src js 페치할 및 비디오 파일을 사용하여 AJAX 응답을 smartupdate 유형은 물방울
window.onload = function() {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'mov_bbb.mp4', true);
xhr.responseType = 'blob'; //important
xhr.onload = function(e) {
if (this.status == 200) {
console.log("loaded");
var blob = this.response;
var video = document.getElementById('id');
video.oncanplaythrough = function() {
console.log("Can play through video without stopping");
URL.revokeObjectURL(this.src);
};
video.src = URL.createObjectURL(blob);
video.load();
}
};
xhr.send();
}
참고: 대용량 파일 이 방법을 사용하지 않는 것이 좋습니다.
api 를 사용할 경우 - video) 은 다른 방법을 제공하는 대신, # 39, & # 39 GET& (동일팔레트에 / POST)
Html5 비디오 세션 키 (key) 는 php report. 태그번호 함께 있는 임의의 문자열 과 값은 파일_이름.
ini_set('session.use_cookies',1);
session_start();
$ogv=uniqid();
$_SESSION[$ogv]='myVideo.ogv';
$webm=uniqid();
$_SESSION[$webm]='myVideo.webm';
echo '<video autoplay="autoplay">'
.'<source src="video.php?video='.$ogv.' type="video/ogg">'
.'<source src="video.php?video='.$webm.' type="video/webm">'
.'</video>';
Php 는 이제 질문과대답 전송하십시오 비디오. PHP 를 복구되는지 파일_이름. deletes 세션과 report. 비디오 있습니다. # 39, & # 39 cache& 않으며, 또한 모든 mime 형식 및 헤더도 있어야 합니다.
ini_set('session.use_cookies',1);
session_start();
$file='myhiddenvideos/'.$_SESSION[$_GET['video']];
$_SESSION=array();
$params = session_get_cookie_params();
setcookie(session_name(),'', time()-42000,$params["path"],$params["domain"],
$params["secure"], $params["httponly"]);
if(!file_exists($file) or $file==='' or !is_readable($file)){
header('HTTP/1.1 404 File not found',true);
exit;
}
readfile($file);
exit:
이제 새 탭에서 사용하거나 복사합니다를 사용자가 url 단축 메뉴 그는 운빨이야 없을 것이다.
적어도 정지점을 비 기술 인력을 마우스 오른쪽 단추로 클릭하면 컨텍스트 메뉴를 사용할 수 있는 감각적인 다운로드할지 비디오에. 모든 요소에 대한 컨텍스트 메뉴가 비활성화합니다 오 콘테스타메노 속성용 사용할 수 있습니다.
oncontextmenu="return false;"
이 방법은 하나의 비디오 스피커에만 요소 (전체 페이지에서와 몸 안에 이를 활용한 비디오 태그이고,
<video oncontextmenu="return false;" controls>...</video>
우리는 함께 사용하여 됐지 AWS 클로드 프롱 만료하고 url 입니다. 하지만 그 시간에 의해 사용자 오른쪽 클릭 및 비디오 로드할 다른 이름으로 저장 선택했습니까 비디오 uirl 처음에는 수신되었습니다 만료되었는지. 그 액세스만 클로드 프롱 검색을 할 방침이었다.
주요 페어당 생산할 수 있는 비디오 uirl 单捞磐啊 만들어지는 AWS CLI. 내 코드를 아니다 하지만 작동하잖아 엄청나구먼 fyi
$resource = 'http://cdn.yourwebsite.com/videos/yourvideourl.mp4';
$timeout = 4;
//This comes from key pair you generated for cloudfront
$keyPairId = "AKAJSDHFKASWERASDF";
$expires = time() + $timeout; //Time out in seconds
$json = '{"Statement":[{"Resource":"'.$resource.'","Condition" {"DateLessThan":{"AWS:EpochTime":'.$expires.'}}}]}';
//Read Cloudfront Private Key Pair
$fp=fopen("/absolute/path/to/your/cloudfront_privatekey.pem","r");
$priv_key=fread($fp,8192);
fclose($fp);
//Create the private key
$key = openssl_get_privatekey($priv_key);
if(!$key)
{
echo "<p>Failed to load private key!</p>";
return;
}
//Sign the policy with the private key
if(!openssl_sign($json, $signed_policy, $key, OPENSSL_ALGO_SHA1))
{
echo '<p>Failed to sign policy: '.openssl_error_string().'</p>';
return;
}
//Create url safe signed policy
$base64_signed_policy = base64_encode($signed_policy);
$signature = str_replace(array('+','=','/'), array('-','_','~'), $base64_signed_policy);
//Construct the URL
$url = $resource.'?Expires='.$expires.'&Signature='.$signature.'&Key-Pair-Id='.$keyPairId;
return '<div class="videowrapper" ><video autoplay controls style="width:100%!important;height:auto!important;"><source src="'.$url.'" type="video/mp4">Your browser does not support the video tag.</video></div>';
우선 모든 것을 깨닫게 되는 것은 완전히 , 다운로드됨 할 수 있는 비디오 더욱 어렵게 만들 수 있습니다. I. e. 너회가 숨김니다 관계자는 "라고 말했다.
일시적으로 버퍼입니다 웹 브라우저를 다운로드 비디오를 보고 있어야 됩니다, 만일 다운로드하십시오 비디오 뿐만 아니라, 것을 막을 수 있습니다.
또한 < 합니다 알고, 전체 인구의 1% 의 소스 코드를 이해할 수 있도록 안전한 것이 아니라 세계 될 겁니다. 뿐만 아니라 이를 숨기지 않는 짓궂군요 안됩니다 - 소스 합니다.
마우스 오른쪽 단추로 클릭하고, 심지어 합니다 * 비활성화합니다 않은 채, 이 동영상을 저장할 수 없습니다 "라고 합니다 '" 메시지를 표시할 경우 저작권 시작했다. That.", '정말 미안하다. [이 오토메이티드] [1] 에 제안된 있다.
Css 트릭 슬라이드에서는 사용할 수 있습니다.
video {
pointer-events: none;
}
CSS, 실제로 비활성화하기 없이 브라우저에서 비활성화해야 없습니다 맬웨어로부터 비디오 마우스 오른쪽 버튼을 클릭합니다. 그러나 한 문제는 '제어', 즉 '거짓' 으로 설정되어야 합니다 사용할 수 없습니다. 린플라망 예정이면 자체 API 를 사용할 수 있는 함수 또는 비디오 재생 / 일시정지 '다음' 이 가능한 태그번호 곷떒 별도의 옵션이 있습니다.
그래서 '도' 는 것은 좋은 생각이 같은 다운로드 단추를 사용하여 제어하는지 중 하나.
이것은 [이스피들] [2] 이다.
마우스 오른쪽 단추로 클릭하고 소스 또한 JavaScript 를 사용하여 다음 가는 경우 비활성화하려면 작성하든지 비디오 JavaScript 로 잘 알려져 있다. 이쪽요 사용자가 JavaScript (오른쪽 클릭 수) 가 로드되지 않는 비활성화합니다 비디오 (video 소스 또한 감춰집니다 조금 더 나은).
[타그레그렉 오토메이티드] 에서 [3]:
<video oncontextmenu="return false;" controls>
<source type="video/mp4" id="video">
</video>
이제 비디오 통해 추가 JavaScript:
document.getElementById("video").src = "https://www.w3schools.com/html/mov_bbb.mp4";
기능을 갖춘 [이스피들] [4]
또 다른 방법을 사용하여 部门从 막기 위해 'embed' 태그이고, 마우스 오른쪽 단추로 클릭합니다. 그러나 이것은 언약보다는 제공하십시오 컨트롤을 할 수 있도록 비디오 실행하십시오 아니하였으매 린플라멩테드 JavaScript:
<embed src="https://www.w3schools.com/html/mov_bbb.mp4"></embed>
[1] # 49198264 :https://stackoverflow.com/questions/9756837/prevent-html5-video-from-being-downloaded-right-click-saved/49198264
[3] # 37596588 :https://stackoverflow.com/questions/9756837/prevent-html5-video-from-being-downloaded-right-click-saved/37596588
같은 서비스를 사용하는 비메오: '로그인하십시오 비메오 >. 이동 비디오 >. 설정 >. 개인 정보 보호 >. 표시 '를 포함, 또한 고정되었는지 대신한다. 일단 포함, 이 도메인은 설정되었습니다 허용하지 않을 경우 또는 모든 브라우저에서 비디오 포함) 에서 지정한 도메인과의 연결하든 표시합니다. 따라서 이 페이지에 있는 서버의 경우 즉 고정되었는지 iframe, 이로 인해 매우 어렵습니다 로드되는지 비메오 선수가 있다.
이는 지적하고 싶다 to anyone does it 및 기타 웹 사이트 및 유튜브를 통해 때문에 가능한 수 있도록 it isn& 수 있다면, t # 39 에서 이 같은 마이크로소프트 엣지 브라우저에서 인컨텍스트 내가 테스트되었습니다, 인터넷 익스플로러 브라우저 등 몇 가지 방법이 있다고 할 경우 답을 찾는 사람들은 여전히 아드리 비활성화합니다 및 것으로 볼 수 있기 때문에 방법이 있어야만 볼 수 있는 유일한 방법은 유튜브 (youtube) 방식에 비해 것은 누군가 꽂으십시오 유튜브 실로나는 지내고 있는 스크립트에만 보였다. 난 또 체크된다면 to see if it 는 물론, 이 때문에 사용자 정의 컨텍스트 메뉴 isn& 컨텍스트 메뉴를 끝났다네 inspect element 쉐퍼드도 t # 39 흐르는 짓궂군요 정보기술 (it) 등 it 및 신규 강의 창출합니다 쉐퍼드도 끝났다네 절대 불가능하다고 생각하고 있으며 또한 검사할 수 있는 요소 때문에 실제로 액세스만 javascript can& # 39, t. 유튜브 (youtube) 동영상 연산뿐 때 나타나는 것을 알 수 있습니다 마우스 오른쪽 버튼으로 클릭하면 팝업 메뉴를 크롬. # 39, t 베시데스트류투베 wouldn& 추가 기능을 하는 것이다. 그래서 나는 통해 연구를 하고 있는 소스 유튜브 될 경우 뒤로를 다운로드합니까 랜스워드프리프 누구나 너회가 can&, t, t # 39 보다 잘 didn& 말했습니다 # 39 가봤다네 연구를 할 것 같아요. 유일한 방법은 유튜브 동영상을 통한 라우트입니다 다운로드하십시오 비디오 다운로드하십시오.
산 · 학 · 연 연구를 할 수 있는 한 계속 내 오카이자리 비활성화합니다 없다 아드리우 javascript 를 제외한 비디오 링크를 암호화합니다 당신꺼에요 수 있어야 할 수 있다고 생각하기 때문에 어떤 브라우저를 won& 비활성화합니다 표시, t, t # 39 없으면 can& # 39 링크를 찾아 보라 내가 문을 열어 이 같은 " 물방울 " (
유튜브 (youtube) 동영상 보였다. 따옴표 없이 있기 때문에 이를 위해 알아야 할 수 없도록 하는 php 같은 암호화 사브d.유 오토메이티드 어렵게 만들기 때문에 선택한 것은 아웃해야 가장 많은 암호화, 유투브 (youtube) 이 되기 위해 필요한 경우 미리 알고 있지만, t # 39 php 프로그래머용 don& 선택한 사람이 하는 것보다 시행하십시오 최대한 오토메이티드 어려운 이스버트 다운로드하십시오 알고 있다면 보다 무거운 비디오 링크를 암호화합니다 php 에서 읽을 수 있도록 유르스트리 don& # 39 만 할 수 있는지, 어떻게 설명해야 할지 모르는 그들이 어떻게 그렇게 할 수 있지만, did 및 길이 있다. 유튜브 동영상 아니했다고 암호화합니다 운행에서어떠한 매우 똑똑하시네 그러하매 궁금해할까봐 빌한테나 유튜브 (youtube) / 구글 방식에 따라서 여러 방법 중 가장 좋은 건 이미 이t.호프 당신꺼에요 경우에도 그 답이 있다. 그래서 최고의 파선-짧은 연결이 암호화 조항.스트리밍 비디오 옵션을 통해 웹 소켓 이용한 것 같은데 같이 프레임과 그릴 수 있는 일종의 스트리밍합니다 캔바스를 일이다.
https://stackoverflow.com/questions/4241992/video-streaming-over-websockets-using-javascript
내 생각에 더욱 어렵게 만든다 다른 보호 수준을 클라이언트에 대한 답변을 얻을 수 있는 비디오, 비디오 및 물론 문제를 해결할 " 절약합니다 as.". 마우스 오른쪽 버튼으로 컨텍스트로 메뉴 옵션 (오버킬?! ).
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
function noRightClick() {
alert("You cannot save this video for copyright reasons. Sorry about that.");
}
<body oncontextmenu="noRightClick();">
<video>
<source src="http://calumchilds.com/videos/big_buck_bunny.mp4" type="video/mp4">
</video>
</body>
끝 - < 스니핏 >;! 또한 이미지, 텍스트 및 방법은 거의 없다. 그러나, Inspect" " 액세스할 수 있습니다. 그리고 보기 source" "; 도구를 사용하여 키보드 단축키. (해결책이라고 말한다, 맨 위에 너회가 can& # 39, t 고만하세요 완전히.) 하지만 최대 어서잡아 동일팔레트에 장벽을 할 수 있습니다.
내가 찾던 인도하심이라만일 @clayton-graul 내가 필요한 커피스크립트 버전을 제외한 사용하여 사이트 앙굴라이스. # 39 의 너무, 만일의 사태에 대비해 필요한 here& 너희는너희가 앙굴라이스 컨트롤러를 넣는 질문:
# This is how to we do JQuery ready() dom stuff
$ ->
# let's hide those annoying download video options.
# of course anyone who knows how can still download
# the video, but hey... more power to 'em.
$('#my-video').bind 'contextmenu', ->
false
이상한 것들이 걸어서 dell. circle k" "; (it& # 39 의 true)