2016-02-18 67 views
0

我正在为客户设计和开发产品设计师,可以交互式地创建产品设计。任何客人都可以设计产品,但只有购买了该产品的用户才能将其保存为PDF或图像。有没有办法拥有不可变的CSS属性?

为了防止盗用/滥用,我在使用CSS的当前设计产品上应用了水印,以便如果用户拍摄页面的屏幕截图,则渲染页面上的水印会使其无用。

但不幸的是,精通技术的用户可以轻松地编辑源代码并移除该水印的CSS样式。

有没有一种方法可以将不变的CSS属性应用于页面中的水?

或者有没有办法防止盗窃/屏幕截图没有购买?

谢谢

+0

您可以在服务器端使用php在图片上应用水印。您可以生成临时预览而不会使原始图像变形。 – Litestone

+1

什么让你的服务器不再是你的。因此,唯一的办法是在您的服务器上执行所有的图像组装,并且始终注入水印。在您没有水印的情况下向用户发送任何内容的那一刻,就是他/她的抓取。 – Yoshi

回答

0

Css可以从浏览器进行修改,并且无法拥有不可变的CSS。你可以做的是,你可以在生成PDF或图像时加入水印。 这样就不会有逃脱。

更新

把图像中的背景。所以如果用户试图去除水印,他会删除整个背景,没有它,他设计的东西是无用的,再加上你可以把一个小脚本,观察img标签。如果img被移除或源被更改,您可以以任何您想要的方式重新加载或停止它。

+0

其实在中间有抓。如果用户没有点击保存按钮,并在设计整个页面后,他们使用一些剪切工具 – Hammad

+0

采取屏幕截图,我建议你在第一手模板中加水印。所以如果用户不付款,那么他只能在水上标记的模板上设计他的东西。如果他已付款,他可以在飞机模板上设计。 –

+0

这正是我正在做的。但用户可以通过编辑源代码去除水印html – Hammad

0

不,你不能。您需要在预览之前以编程方式应用水印。

+0

你是什么意思的编程?即使我将它应用于服务器端代码,它仍然会作为div的背景属性呈现在前端,用户可以删除 – Hammad

+0

您需要生成具有水印(无CSS)的新图像。 –

+0

整个事情不是图像而是它的HTML,所以任何水印都可以删除。 产品设计师与此类似:http://codecanyon.net/item/fancy-product-designer-woocommerce-plugin/6318393 – Hammad

3

不,您不能拥有精通技术的最终用户无法覆盖或删除的CSS属性。

如果你正在发送用户的浏览器可以渲染的东西,你不希望他们抓住没有水印,不,没有什么可以做的。

您必须让客户端将渲染信息发送到您的服务器,并让服务器生成结果图像,并将水印烘焙后发送给客户端。 (具有足够的图像编辑专业知识,当然仍然可以被击败。)

+0

但这是交互式工具。渲染信息将被发送到生成PDF或图像的服务器,但用户可能会滥用它,并且不会将渲染信息发送到服务器,并使用Windows或Mac剪辑工具继续进行截图。我的产品设计师与此类似:http://fancyproductdesigner.com/woocommerce/ – Hammad

+1

@Hammad:您编写服务器时,它总是*包含水印。用户操纵浏览器发送的信息无关紧要。底线是如果你在客户端进行渲染,你不能阻止人们绕过水印。如果你在服务器上以图像的形式进行操作,你可以*,然后“窃取”它们必须进行像素级图像编辑(确保水印是半透明的,这是特别难以编辑的)。 –

+0

是的,我明白你的观点。我无法控制用户在客户端做了什么。非常感谢您的洞察力。 – Hammad

1

检查此answer。基本上说,你不能阻止用户在浏览器中使用外部应用程序的屏幕截图。

为了实现您的需求,您将不得不故意恶化非优质用户的预览:使整件事情质量低下或将设计元素添加到设计元素中,使其在生产中几乎无法使用。

基本上,使预览功能足以设计产品的模型,但不足以将图像投入生产。

+0

谢谢。我可以打印预览,但用户可以使用窗口剪切工具截图 – Hammad

相关问题