amazon-web-services - 基于完整 URL 而不仅仅是 AWS WAF 中的 URI 进行阻止
问题描述
我在多个指向不同 URL 的 CloudFront 分配中使用 AWS WAF。一般来说,它运作良好。但是,我们注意到我想要阻止的一些基础站点上的特定活动,但我不想在所有站点上阻止它。
对我来说,创建一个匹配 URI 上的正则表达式并以此为基础进行阻止的 WAF 规则似乎很简单。但是,AWS WAF 似乎没有在其 URI 匹配中使用主机。例如这条规则:
Inspect URI, Block based on RegEx with RegEx being:
^(http|https):\/\/(www)?\.?example\.net\/(.*)?\/*.html$
这些测试 URL 在我的正则表达式测试器中工作:
http://example.net/blah.html
https://example.net/blah.html
http://www.example.net/blah.html
https://example.net/stuff/blah.html
但是,当我将它应用于 WAF 时,它不会阻塞。
我还可以在这里做些什么来实现我想要做的事情吗?我不想直接在我的托管服务器上编辑任何内容,因为这会更让人头疼,并且无法解决我试图解决的问题(即阻止机器人向我的服务器发送垃圾 URL 和 404 秒杀)。
我也意识到有人可能会建议我可以做一个速率限制——我确实有这个限制——但是机器人来自许多不同的 IP,所以这并不能解决这个特殊情况。相反,我只想阻止他们一直试图访问的一些 URL 类型。在这种情况下,它是成千上万的 HTML 页面。它也没有考虑到我只想阻止这些针对特定站点的请求。
解决方案
推荐阅读
- c# - 如何制作一个控制windows音量的TrackBar C#
- python-3.x - Python Pandas 从源(单列)获取数据以纠正表格格式
- .net - 如何在 .net 网站项目中使用 2 个不同的包版本
- java - 如何在对应java语法的python中实现相同的for循环
- sql - SQL查找使用同一帐户的多个用户
- python - 训练 keras LSTM 模型时“无法将 NumPy 数组转换为张量”
- python - AttributeError:如果 DataFrame 被腌制为根,则无法获取属性“new_block”
- java - 无法在 java servlet 和 mysql 连接中保存记录
- python - DMOJ COCI'17 比赛 1 #1 Cezar
- nuxt.js - 在nuxt js中构建服务器mod中的wProxy问题url