网站图片防盗链的攻与防

防盗链

使用htaccess文件:你可以通过在网站根目录下创建名为“.htaccess”的文件并添加以下代码来防盗链:

RewriteEngine on
# 防止从其他网站引用图片
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

这段代码会检查引用图片的网址是否和你的网站一致,如果不一致,则会返回错误信息。

在<img>标签中添加属性:你可以在<img>标签中添加“referrerPolicy”属性来限制图片被其他网站引用。例如:

<img src="yourimage.jpg" referrerPolicy="same-origin">

这将防止来自其他网站的引用,只允许从你的网站引用图片。

破解防盗链

1、在head标签中添加如下标签

<meta name="referrer" content="no-referrer" />

如果你要引用别人防盗链的图片,你需要确保你有获得使用该图片的授权或许可。如果你已经获得了授权或许可,你可以在你的网站上通过以下方式来引用该图片:

请求图片的方式:在<img>标签中添加“referrer”属性并将其值设置为“no-referrer”。例如:

<img src="https://example.com/image.jpg" referrer="no-referrer">

这将使你的网站在请求图片时不发送Referrer信息,从而避免防盗链措施的触发

代理方式:你可以在你的服务器上使用代理方式来请求图片并在你的网站上显示。例如,在PHP中可以使用以下代码来请求并显示图片:


<?php
$image_url = 'https://example.com/image.jpg';
$image_data = file_get_contents($image_url);
header('Content-Type: image/jpeg');
echo $image_data;
?>

这将使你的网站在请求图片时使用你的服务器作为代理,从而避免防盗链措施的触发。

css背景图引入防盗链图片,可以先用图片引入,在然后在css调用图片地址

<img src="https://example.com/image.jpg" referrer="no-referrer">
<div class="bg"><div>
<style>
.bg{background:url(https://example.com/image.jpg)}
</style>

请注意,对于未经授权或未获许可使用的图片,你不应该使用上述方式来引用图片,因为这将侵犯图片的版权。

猜你喜欢

转载自blog.csdn.net/qq_39339179/article/details/129728649