我再給你寫一下有點(diǎn)用的東西
禁止防盜鏈、禁止下載、禁止按F12、禁止iframe嵌套、再給你個(gè)動(dòng)態(tài)水?。ǚ乐挂曨l截圖)、禁止右鍵操作
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>視頻版權(quán)保護(hù)系統(tǒng)</title>
<style>
body {
font-family: 'Microsoft YaHei', sans-serif;
background-color: #f5f5f5;
margin: 0;
padding: 20px;
}
.video-container {
max-width: 800px;
margin: 0 auto;
background: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.video-wrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
height: 0;
overflow: hidden;
}
.video-wrapper video {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #000;
}
.warning {
color: #ff5722;
margin-top: 15px;
font-size: 14px;
}
</style>
</head>
<body>
<div>
<h2>版權(quán)視頻演示</h2>
<div>
<!-- 核心防護(hù)代碼開(kāi)始 -->
<video
id="protectedVideo"
controls
controlslist="nodownload noremoteplayback noplaybackrate"
disablepictureinpicture
on-contextmenu="return false"
poster="https://picsum.photos/800/450?grayscale">
<source src="YOUR_VIDEO_URL.mp4" type="video/mp4">
您的瀏覽器不支持HTML5視頻
</video>
<!-- 防護(hù)水印層 -->
<div id="watermark" style="position:absolute; top:10px; right:10px; color:rgba(255,255,255,0.5);">
?版權(quán)所有
</div>
</div>
<p>提示:本視頻受版權(quán)保護(hù),禁止下載和錄屏</p>
</div>
<script>
// 防護(hù)措施增強(qiáng)
document.addEventListener('DOMContentLoaded', () => {
const video = document.getElementById('protectedVideo');
// 1. 禁用右鍵菜單(全頁(yè)面)
document.addEventListener('contextmenu', e => {
e.preventDefault();
alert('禁止右鍵操作!');
return false;
});
// 2. 禁用快捷鍵(Ctrl+S/Ctrl+C等)
document.addEventListener('keydown', e => {
// 禁用F12開(kāi)發(fā)者工具
if (e.key === 'F12' ||
(e.ctrlKey && e.shiftKey && e.key === 'I') ||
(e.ctrlKey && e.shiftKey && e.key === 'J') ||
(e.ctrlKey && e.key === 'U')) {
e.preventDefault();
alert('禁止使用開(kāi)發(fā)者工具!');
return false;
}
// 禁用保存快捷鍵
if ((e.ctrlKey && e.key === 's') || (e.metaKey && e.key === 's')) {
e.preventDefault();
return false;
}
});
// 3. 防止iframe嵌套
if (window.top !== window.self) {
window.top.location = window.self.location;
}
// 4. 檢測(cè)錄屏行為(實(shí)驗(yàn)性API)
if ('getDisplayMedia' in navigator.mediaDevices) {
video.addEventListener('play', () => {
navigator.mediaDevices.getDisplayMedia({video: true})
.then(() => {
video.pause();
alert('檢測(cè)到屏幕共享行為,已暫停播放!');
})
.catch(() => {});
});
}
// 5. 動(dòng)態(tài)水?。ǚ澜貓D)
setInterval(() => {
const watermark = document.getElementById('watermark');
watermark.style.top = `${Math.random()*80}%`;
watermark.style.left = `${Math.random()*80}%`;
}, 2000);
});
</script>
</body>
</html>