首页 > 解决方案 > Google App Engine:拒绝访问网站/拒绝反向链接

问题描述

我将 Laravel 应用程序部署到 Google App Engine(标准环境)。有人刚刚复制了我的项目 3 次并且没有更改图像上的根链接,因此我有 100 多个反向链接和克隆从我的网站加载图像。有什么方法可以拒绝 app.yaml 文件中的反向链接?

这就是我可以拒绝访问 .htaccess 中的网站的方式

SetEnvIfNoCase Referer "clone1.com" bad_referer
SetEnvIfNoCase Referer "clone2.com" bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer

我当前的 app.yaml 文件

runtime: php73

handlers:
- url: /(.*\.(gif|png|jpg|css|js|txt|svg|xml|ico|woff|woff2))$
  static_files: public/\1
  upload: public/.*\.(gif|png|jpg|css|js|txt|svg|xml|ico|woff|woff2)$

- url: /.*
  secure: always
  redirect_http_response_code: 301
  script: auto
  
env_variables:
    ## Put production environment variables here.
    APP_KEY: *KEY*
    APP_STORAGE: /tmp
    VIEW_COMPILED_PATH: /tmp
    SESSION_DRIVER: cookie 

标签: phplaravel.htaccessgoogle-app-engine

解决方案


这是不可能的,因为.htaccess它们app.yaml是为不同目的而构建的。

.htaccess文件可以控制对目录的访问,因为每次请求都会读取该文件。所以我们可以说这个.htaccess文件是一个“看门人”,它可以用来阻止你提到的IP地址或坏的反向链接。

app.yaml另一方面,除了控制对应用程序的各个资源的访问之外,应用程序中还有更多功能,因此不会在每个请求上都读取它,因此使用相同的实现将无法使用app.yaml

话虽如此,我相信解决您面临的问题的最佳方法是更改​​图像文件上的根链接。


推荐阅读