Nginx禁止文件下载防止服务器被恶意扫描


比如将网站数据库导出到站点根目录进行备份,很有可能也会被别人下载,从而导致数据丢失的风险。以下规则可以防止一些常规的文件被下载,可根据实际情况增减。我们可以通过以下俩种方法来防止服务器被恶意扫描,其中以彼之道,还施彼身的方法,彧繎把它称为:防暴美学。
方法一:
此种方法比较暴力,就是以彼之道,还施彼身,利用伪静态规则进行跳转下载,比如:扫描根目录下的 /web.rar,那么就会触发规则跳转到大文件下载地址,100G让他慢慢下载,下个爽,磁盘爆了才开心。
打开网站 Nginx 配置文件,将以下规则加入 server 内,完成配置,规则如下:

  1. server {
  2. ...
  3. # 专治扫描户
  4. rewrite .rar/?$ http://speedtest.tele2.net/100GB.zip permanent;
  5. rewrite .tar/?$ http://speedtest.tele2.net/100GB.zip permanent;
  6. rewrite .zip/?$ http://speedtest.tele2.net/100GB.zip permanent;
  7. rewrite .sql/?$ http://speedtest.tele2.net/100GB.zip permanent;
  8. rewrite .gz/?$ http://speedtest.tele2.net/100GB.zip permanent;
  9. rewrite .7z/?$ http://speedtest.tele2.net/100GB.zip permanent;
  10. # 或者使用
  11. rewrite .(rar|zip|tar|sql|gz|7z)/?$ http://speedtest.tele2.net/100GB.zip permanent;
  12. ...
  13. }

如果你觉得 100GB 响应时间有点长,那么下面的小文件下载地址,任你挑选,包你满意,地址如下:

  1. 新加坡: http://lg-sin.fdcservers.net/10GBtest.zip
  2. 日本: http://lg-tok.fdcservers.net/10GBtest.zip
  3. 香港: http://lg-hkg.fdcservers.net/10GBtest.zip

方法二:
直接网站Nginx配置文件里面添加以下的规则防止文件被下载

  1. location ~ \.(zip|rar|sql|bak|gz|7z)$ {
  2. return 444;
  3. }

以上Nginx规则就是当有用户或恶意扫描访问网站上的 zip|rar|sql|tar|gz|7z 等资源时,直接返回错误码
最后说明:
如果直接全部禁止访问,那么用户就没办法下载了,所以资源下载网站请慎用方法二。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在 Windows 中搭建一个支持上传和下载文件的文件服务器,可以使用 Nginx 和一些插件来实现。以下是步骤: 1. 下载 Nginx for Windows,可以从官网下载:http://nginx.org/en/download.html 2. 解压缩下载的 Nginx 文件到某个目录下,例如 C:\nginx。 3. 在 C:\nginx\conf 目录下创建一个名为 nginx.conf 的文件,并在其中添加以下配置: ``` worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root C:/nginx/html; index index.html index.htm; autoindex on; } location /upload { client_max_body_size 100m; alias C:/nginx/upload/; autoindex on; dav_methods PUT DELETE MKCOL COPY MOVE; dav_access user:rw group:rw all:r; } } } ``` 这个配置文件中定义了一个 http 服务,监听 80 端口,其中 /upload 路径是用来上传文件的,其它路径是用来下载文件的。注意修改 root 和 alias 的路径为你自己的路径。 4. 在 C:\nginx\html 目录下创建一个名为 index.html 的文件,用于测试下载文件是否成功。 5. 在 C:\nginx\upload 目录下创建一个名为 index.html 的文件,用于测试上传文件是否成功。 6. 启动 Nginx,打开命令行窗口,切换到 C:\nginx 目录下,执行命令:nginx.exe。 7. 打开浏览器,访问 http://localhost/,应该可以看到 index.html 页面,用于测试下载文件是否成功。 8. 打开浏览器,访问 http://localhost/upload/,应该可以看到 index.html 页面,用于测试上传文件是否成功。 现在你的文件服务器已经搭建好了,可以用来上传和下载文件了。上传文件时,可以使用 PUT 方法,例如使用 curl 命令上传文件: ``` curl -T file.txt http://localhost/upload/ ``` 下载文件时,可以使用 GET 方法,例如使用浏览器访问 http://localhost/file.txt。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

软希源码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值