java 如何防止右键单击“保存为图像”或“在新选项卡中打开图像”上的wordpress?

lf5gs5x2  于 2023-01-24  发布在  Java
关注(0)|答案(5)|浏览(128)

我知道很多人要求禁用右键点击选项,我不是一个伟大的支持者右键点击选项,这是一个必须有一个网站。另一方面,这将是很好的保护直接媒体链接和图像保存选项。
高级用户肯定可以找到访问媒体或附件的方法,很难控制它们,但我的查询是为了防止普通用户的图像保存选项。防止图像从普通用户窃取(他们使用简单的--右键单击〉另存为图像选项)。
用例:假设你是一个艺术家,在网站上发布你独特的作品(图片〉JPG/PNG,甚至GIF图片),专业摄影师在网站上发布原创独特的图片。
我在网上看到过几种方法来防止右键单击另存为图像选项,到目前为止没有任何效果。所以请帮助我解决这个问题。
先谢了。
注意:检查www.example.com网站,他们已经托管了他们的gif图像,但是你(普通用户)不能从网上下载图像。这正是我正在寻找的解决方案。谢谢。www.animaticons.co website, they've hosted their gif images, but you (normal user) cannot download the images from the web. This is the exact solution i'm looking for. Thanks.

jvidinwx

jvidinwx1#

为什么不给你的图片加上水印呢?问题是当客户端可以显示图片时,也可以下载或截图。
不要试图区分普通用户和高级用户-这就像说“也许黑客能够攻击我的网站,但不是一个普通用户,所以它是安全的。”

lnlaulya

lnlaulya2#

我们(根据您的问题,普通用户)无法下载您给定的网址中显示的图像,是因为他们没有显示正常的<img>标签内的图像,而是他们显示的图像作为包含div的background-image。您可以保存或打开背景图像的新标签中的图像。

ecfdbz9o

ecfdbz9o3#

他们在网站上制作了“背景”图片(CSS:backgound-image)。但是通过浏览器的检查器(F12)或browser extension下载它真的很简单。
如果它们在页面上,则它们被下载,无论是在内存中还是在临时文件夹中。
如果你要防止下载,那么只公开发布低质量的图片样本,把高质量的放在支付网关后面(或者用户必须跳过的任何一个环)。

6ovsh4lw

6ovsh4lw4#

试试这个代码,这将删除整个右键单击上下文菜单。

document.addEventListener('contextmenu', event => event.preventDefault());
k2fxgqgv

k2fxgqgv5#

第二个问题-如何禁用直接下载任何文件时,你知道它的网址-是一个伟大的!我已经尝试了几天,以找到一个解决方案,为我的网站,你会发现它上面。

上下文菜单:它的一切或什么都没有

为了防止右键点击,你可以使用像优秀的插件“禁用右键点击WP”为例。但它会完全停用上下文菜单。上下文菜单是浏览器的webkit的一部分,你将无法停用它的项目之一。它将是一切或什么都没有。

使用直接链接时阻止文件下载

更重要的是,为了防止直接链接到你的图片,你只能在PHP显示你的网站之前这样做,所以只能在WEB服务器级别。你需要告诉Web服务器禁止任何不是直接由它自己进行的图像访问(以显示你的网站的图像)。要做到这一点,你需要玩Web服务器配置文件:***.htaccess***位于您的标准WordPress安装示例的根级别。

编辑.htaccess

1.打开***/.htaccess***
1.在#BEGIN Wordpress行之前添加以下代码,并根据您的网站域名对其进行调整,因为以下代码是为位于 * www.example.com * 的网站编写的。此代码示例阻止直接下载所有.txt、.mp4、.jpg和.png文件。如果您想做出其他选择,只需更改 txt|mp4|jpg格式|代码中的png

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com.*$ [NC]
RewriteRule \.(txt|mp4|jpg|png)$ - [F]
# or, much better, less radical, you can replace the last RewriteRule by the following one, to display always the same page or image from your website, changing *https://www.example.com/link-to-page-or-image* to the address of the page or image you'd like to display when someone is trying to download a file using a direct link :
# RewriteRule \.(txt|mp4|jpg|png)$ https://www.example.com/link-to-page-or-image [L]

</IfModule>

测试

1.清空浏览器缓存。
1.尝试达到您的网站的图像输入直接链接到该图像在您的浏览器地址栏(例如,在WP中,请转到您的 * 媒体库 ,选择任何图像-如果您修改了前面的代码以防止直接下载.jpg图像,则选择.jpg图像-并使用复制按钮复制图像URL,然后打开浏览器新窗口并将复制的URL粘贴到浏览器地址栏中)。您应该看到不能通过这种方式下载图像。
1.访问您的网站:显示所有图像,并且涉及图像和直接链接(lightbox...)的每个功能应该仍然完美地工作,因为只有web服务器有权调用它们。
1.如果结果看起来很完美,不要忘记保存编辑的
**.htaccess***文件的副本在您的桌面上,例如(删除点,如果你是在Mac或Linux机器上工作,以保持它可见),因为WordPress,在某些情况下,可以重新生成该文件,而不添加代码。当你改变了WP中的任何设置,主要是一些与永久链接相关的设置(添加一些扩展名也可能涉及***.htaccess***版本),请查看***.htaccess***文件的内容,检查添加的代码是否仍然存在...或者重新添加。
好好享受吧!

相关问题