gpt4 book ai didi

apache - 防止垃圾邮件直接POST请求在Magento中进行客户注册

转载 作者:行者123 更新时间:2023-12-04 05:28:40 24 4
gpt4 key购买 nike

我已经开始在Magento网站上出现垃圾邮件POST请求问题,在该站点上,机器人正在使垃圾邮件用户(甚至删除了 Action 属性,验证码等),因为我相信这些bot只是直接向标准的Magento帐户网址。

这是我在日志中看到的3个有效POST请求的示例:

x.x.x.x - - [06/Nov/2017:13:54:47 -0500] "POST /customer/account/createpost/ HTTP/1.1" 302 - "https://www.example.com/customer/account/create/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36"

x.x.x.x - - [05/Nov/2017:11:34:42 -0500] "POST /customer/account/createpost/ HTTP/1.1" 302 - "https://www.example.com/customer/account/create/" "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"

x.x.x.x - - [05/Nov/2017:19:33:15 -0500] "POST /customer/account/createpost/ HTTP/1.1" 302 - "https://www.example.com/customer/account/create/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"

我已经在开头对IP地址以及网址进行了匿名处理。但是,请注意,第二个URL是 /customer/account/create/,而第一个URL是 /customer/account/createpost/
这是垃圾邮件POST请求的3个示例:
112.96.164.18 - - [05/Nov/2017:11:43:43 -0500] "POST /customer/account/createpost/ HTTP/1.1" 302 - "https://www.example.com/customer/account/createpost/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"

112.96.164.18 - - [05/Nov/2017:12:03:17 -0500] "POST /customer/account/createpost/ HTTP/1.1" 302 - "https://www.example.com/customer/account/createpost/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"

112.96.100.2 - - [05/Nov/2017:13:53:45 -0500] "POST /customer/account/createpost/ HTTP/1.1" 302 - "https://www.example.com/customer/account/createpost/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"

据我对每个垃圾邮件请求的了解,第一个和第二个网址均为 /customer/account/createpost/
与第一个网址相比,第二个网址是什么?是一个发送请求的地方,另一个来自请求的地方吗?
/customer/account/createpost/可能永远都不应该是原始位置,因为实际上是表单的发送地,而直接访问它会重定向 /customer/account/create/
我的主要问题是,如何可靠地阻止第二组POST请求?

最佳答案

最终找到了一种方法,以防止在最新版本的Magento中创建所有形式的垃圾邮件客户帐户。

最初,我们已将Google验证码添加到我们所有的表格中,包括客户创建表格,因此当我们突然被大量垃圾邮件帐户所打击时,我们感到惊讶。

我们尝试的第一种方法是验证引荐来源 header 显示正确的URL,这使僵尸程序停止了几天,直到它们开始欺骗引荐来源。

事实证明,这些漫游器只是直接向/customer/account/createpost/发送请求,而无需直接访问该站点。每个垃圾邮件客户总是有2个请求,一个GET请求(我假设它正在记录formkey字段是什么),然后是一个POST请求。由于没有运行任何javascript,因此它只是绕过我们的检查,以确保Recaptcha是否已正确验证,并且无论如何都会发送请求。

最终解决该问题的方法几乎不像看不见的陷阱那么干净,但是现在已经阻止了僵尸程序超过一个星期的时间...

启用Magentos默认验证码。

系统->配置->客户配置->验证码

将其设置为“启用”,然后仅选择“创建用户”表单,然后将“显示模式”设置为“始终”。 这最后一部分非常重要,因为这是唯一会阻止所有不包含正确验证码响应的对/customer/account/createpost/的直接POST请求的步骤。如果您未将显示模式设置为始终显示,则漫游器仍将能够大量吸引客户。由于不是机器人的人都应该在不使用表格的情况下提交直接请求,因此这不会阻止任何合法的注册。

我们忽略了“创建用户”之外的所有表单,因为这是唯一真正收到垃圾邮件的表单选项。由于他们在花钱,因此没有理由在结帐时创建验证码。

令人遗憾的是,我们无法使用Google的Invisible reCaptcha,但是内置的Magento引擎是唯一一个足以阻止所有直接POST请求的集成引擎。

关于apache - 防止垃圾邮件直接POST请求在Magento中进行客户注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47144150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com