手动阀

Good Luck To You!

LNMP笔记:设置图片防盗链

在LNMP(Linux, Nginx, MySQL, PHP)环境中,设置图片防盗链是一种常见的需求,通过配置Nginx的防盗链机制,可以防止其他网站直接链接到你的图片资源,从而减少带宽消耗和提高安全性,以下是详细的步骤:

LNMP笔记:设置图片防盗链

修改Nginx配置文件

假设你的网站根目录是/var/www,并且你有一个子目录images 用来存放图片,你需要编辑你的Nginx配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default

示例配置:

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www;
    index index.php index.html index.htm;
    location /images/ {
        alias /var/www/images/;
        # 防盗链设置
        valid_referers none blocked yourdomain.com www.yourdomain.com;
        if ($invalid_referer) {
            return 403;
        }
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据实际PHP版本修改
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    location / {
        try_files $uri $uri/ =404;
    }
}

location /images/: 指定处理/images/ 路径下的请求。

alias /var/www/images/: 将/images/ 映射到服务器上的/var/www/images/ 目录。

valid_referers: 定义允许的Referer头。none 表示不允许任何Referer,blocked 表示只允许没有Referer头的请求,yourdomain.comwww.yourdomain.com 表示仅允许来自这两个域名的Referer。

LNMP笔记:设置图片防盗链

if ($invalid_referer): 如果Referer无效,返回403禁止访问。

重新加载Nginx配置

保存配置文件后,需要重新加载Nginx配置以使更改生效:

sudo nginx -s reload

测试防盗链功能

你可以使用浏览器开发者工具或者curl命令来测试防盗链功能是否生效。

curl -I -e "Referer: http://example.com" "http://yourdomain.com/images/test.jpg"

如果Referer不符合规则,应该返回403 Forbidden状态码。

注意事项

确保正确设置了Referer头,以便合法请求不会受到阻碍。

LNMP笔记:设置图片防盗链

如果你有多个域名,确保所有合法的域名都在valid_referers 指令中列出。

定期检查日志文件,确保防盗链配置正常工作。

通过以上步骤,你可以在LNMP环境中成功设置图片防盗链,保护你的资源不被滥用。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.