网页常见水印实现方式

近期文章

在数字化时代,网页水印已成为版权保护、信息溯源的核心技术。今天就从明暗水印原理、前后端实现方案、防篡改机制等维度展开解析,结合主流技术实现代码,探讨水印技术的攻防博弈与最佳实践。

1 明水印技术实现

1.1 DOM覆盖方案

sTK37U7G_WX20250513-172616@2x.png

通过创建绝对定位的DOM元素覆盖目标区域,利用CSS层级(z-index)和透明度(opacity)控制视觉呈现。此方案支持动态文本注入和样式定制,但存在性能消耗和易篡改的缺陷。

示例代码

<!doctype html>
<html>
  <head>
    <title>水印测试</title>
    <style>
      body{
   height: 100%;}
    </style>
  </head>
  <body>
    <script>
      function createDOMWatermark(opt) {
   
        const watermark = document.createElement('div');
        watermark.style.position = 'fixed';
        watermark.style.top = '0';
        watermark.style.left = '0';
        watermark.style.width = '100%';
        watermark.style.height = '100%';
        watermark.style.zIndex = '9999999';
        watermark.style.userSelect = 'none';
        watermark.style.pointerEvents = 'none';
        watermark.style.background = `repeating-linear-gradient(
          -${
     opt.rotate || 45}deg, 
          rgba(0,0,0,0.1), 
          rgba(0,0,0,0.1) 20px, 
          transparent 20px, 
          transparent 40px
        )`;
        watermark.innerHTML = `<div style="
          
          transform: rotate(-30deg) translate(-50%, -50%);
          color: ${
     opt.color || '#333'};
          font-size: ${
     opt.fontSize || '24px'};
          position: absolute;
          opacity: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村头的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值