如何禁止访问.bak文件

511
@Ta 2021-09-07发布,2021-09-07修改 14202点击
老哥们,我习惯性修改php后生成.bak文件,以防万一,但是今天发现.bak文件访问可以直接下载,有没有办法做到我这个服务器的.bak文件不给下载的,要不然每次调试后都需要记得删除.bak文件😂不然会泄露代码

已解决,站点配置文件添加以下代码:

location ~ \.bak$ {    
     deny all;    
}
回复列表(20|隐藏机器人聊天)
  • @Ta / 2021-09-07 / /
    被禁言
    用户被禁言,发言自动屏蔽。
  • 511
    @Ta / 2021-09-07 / /
    @无期徒刑Screenshot_2021-09-07-11-06-53-011_com.tencent.mtt.jpg老哥,我这种重启服务器,重启Nginx都可以访问.bak文件
  • hik
    @Ta / 2021-09-07 / /
    你不改后缀就行了,文件名后追加随机字符串 https://cway.top
  • @Ta / 2021-09-07 / /

    @511,扔掉辣鸡 notepad++ 不就好了
    小米MIX2s(白)

  • @Ta / 2021-09-07 / /

    权限改了就成了, 600
    小米MIX2s(白)

  • @Ta / 2021-09-07 / /
    改权限
    我是晨曦,我喂自己袋盐!
  • @Ta / 2021-09-07 / /

    @无期徒刑@511~*之间应该要有空格,还有*可以删掉,直接从\.开始匹配。如果要写*,应该是.*

    location ~ \.bak$ {    
         deny all;    
    }
    

    或者

    location ~ .*\.bak$ {    
         deny all;    
    }
    

    但是加.*没有必要,用前一种更好。

  • 511
    @Ta / 2021-09-07 / /
    @老虎会游泳Screenshot_2021-09-07-18-28-04-869_com.tencent.mtt.jpg虎哥,这样没错吧,重启Nginx配置,重启Nginx,重启服务器之后还是可以访问.bak😂
  • @Ta / 2021-09-07 / /

    @511,呃,那你试试我发的第二种,加.*

  • 511
    @Ta / 2021-09-07 / /
    @老虎会游泳,我都试了的😂
  • @Ta / 2021-09-07 / /

    @511,把它放在所有其他location的前面

  • @Ta / 2021-09-07 / /

    @511,顺序好像没有关系

  • JJ
    @Ta / 2021-09-07 / /
    我一般改成这样.bak.php
  • @Ta / 2021-09-07 / /

    最后发现楼主是把配置放错了位置,放在了phpmyadmin的server {}块里,并不是网站的,所以只在phpmyadmin里生效

    放在正确的位置(点击单个网站域名,然后点击“配置文件”,放在它的server {}块里)就能生效了。

  • @Ta / 2021-09-07 / /
    被禁言
    用户被禁言,发言自动屏蔽。
  • @Ta / 2021-09-07 / /

    @无期徒刑,并不是,原因是他编辑的是nginx.conf,并且加在了它的phpmyadmin部分,这个部分写的清清楚楚是用于888端口的phpmyadmin的。

    加在网站特定配置文件里面并保存后,马上就生效了。

  • 511
    @Ta / 2021-09-07 / /
    感谢虎哥,已解决,之前的代码没问题的,我直接放Nginx配置了,放站点配置直接生效了
  • @Ta / 2021-09-07 / /

    @无期徒刑,你是不是也放错了位置
    如果你想要修改某个网站的配置,必须放在这个网站单独的配置文件里才行,不是nginx主配置文件。

    19461da4e1f3eac0.jpg

  • @Ta / 2021-09-07 / /

    @无期徒刑,还有如果你保存时弹出错误信息,就说明配置文件语法错误,必须修改才能生效。

添加新回复
回复需要登录