小编Abr*_*ham的帖子

什么是更有效的.objects.filter().exists()或get()包装在一个尝试

我正在为django应用程序编写测试,我想检查一个对象是否已保存到数据库中.哪种方法最有效/最正确?

User.objects.filter(username=testusername).exists()
Run Code Online (Sandbox Code Playgroud)

要么

try:
    User.objects.get(username=testusername)
except User.DoesNotExist:
Run Code Online (Sandbox Code Playgroud)

python testing django django-models

13
推荐指数
2
解决办法
2913
查看次数

将 Cloud Armor 与 Cloud Run 结合使用并避免绕过

引用https://cloud.google.com/load-balancing/docs/https/setting-up-https-serverless#enabling

虽然可以使用 Cloud Run(全托管)、Cloud Functions 和 App Engine 后端为后端服务配置 Google Cloud Armor,但此功能存在某些限制,尤其是 Cloud Run(全托管)和 App Engine。有权访问由 Google Cloud 分配给这些服务的默认网址的用户可以绕过负载均衡器并直接转到服务网址,从而绕过任何已配置的 Google Cloud Armor 安全政策。

避免针对 Cloud Run URL ( *.run.app)的攻击者绕过 Cloud Armor 的最佳方法是什么?

通常我会让 Cloud Run 只能由服务帐户调用,但 Cloud Load Balancer 不能使用服务帐户调用 Cloud Run。另一种方法是将 Cloud Load Balancer 配置为在标头中使用令牌,并将在 Cloud Run 中运行的应用程序配置为仅接受具有正确标头/令牌的调用,但我不想在应用程序中这样做。

google-cloud-platform google-cloud-armor google-cloud-load-balancer google-cloud-run

3
推荐指数
1
解决办法
479
查看次数