北京日报
Nginx 按下载目录拦截适合资源位置固定的站点,目录内的文件不论后缀是什么都会返🎵回404。
服务器规则没有生效时,优先确认配置文件是否被当前站点加载,以及请求是否经过了另一台 W💎eb 服务器。
防盗链只能减少部分外站嵌入,不能代替访问控制。没有登录校验🎯、可长期复用的直链和公开文件目录,仍然可能被批量下载。
如果站点允许用✅户上传文件,不能只按文件名后缀🚀判断风险。攻击者可能上传无后缀脚本、伪造 MIME 类型文件或利用程序解析漏洞,上传目录应禁止脚本执行,并配合文件权限和内容校验。
上线前验证下载拦截配置,应同时检查正常页面和受保护资源,确保禁止下载没有破坏站点其他功能。
下载拦截规则应先明确限制范围,再选择按目录、按扩展名或按接口处理,否则容易误伤网站附件、后台更新包和正常页面资源。
文件扩展名规则只匹配请求路径,不一定能识别没有后缀的下载接口。带查询参数的请求通常仍以路径参与匹配,因此不能把参数名当成文件类型判断依据。
Apache 配置404禁止软件下载时,可以在虚拟主机配置或允许使用重写规则的目录配置中处理,不能把 Nginx 语法直接复制到 .htaccess 文件。
404禁止软件下载的实际目的,通常不是删除💪服务器上的安装包,而是阻断外部请求并减少资源暴露。保留文件可以方便后台管理、版本回滚或内部发布,但公开请求会在 We🎇b 服务器层被拦截。
Nginx 按文件💎类型拦截适合多个目录都存在安装包或压缩包的站点,下面的扩展名仅作为示例,应根据实际业务增删。
Apache 使用 mod_rewrite 时,可以按目录或扩展名返回404。下面示例适合放在对应站点配置区域,具体能否放入 .htaccess 取决于主机是否开放重写权限。