【发布时间】:2012-03-03 04:12:24
【问题描述】:
我们在 Magento 商店中发现了大量垃圾产品评论。我最近安装了 Fontis reCaptcha 扩展,将 reCaptcha 表单添加到评论表单中。在我所有的测试中,这很有效。 “真实”用户无法在不填写 reCaptcha 部分的情况下提交表单。然而,这并没有解决问题。我们仍然收到垃圾评论。有趣的是,这些垃圾评论也没有星级。不知何故,这些垃圾邮件机器人能够在没有所有必需信息的情况下提交评论,并完全绕过 reCaptcha 代码。关于如何解决此问题的任何想法?
我还尝试创建一个简单的脚本,将表单字段提交到表单的操作 URL 以供审核,以试图绕过逻辑(见下文)。我要么无法使其工作,要么根本无法完成,但我总是被重定向到“请启用 cookie”页面。
审核表单提交测试
<?php
$curl_connection = curl_init('http://my.domain.com/review/product/post/id/2587/');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
$post_data = array();
$post_data['ratings[5]'] = '21';
$post_data['nickname'] = 'mynick';
$post_data['title'] = 'my title';
$post_data['detail'] = 'My Review Content';
$post_items = array();
foreach ( $post_data as $key => $value)
{
$post_items[] = $key . '=' . $value;
}
$post_string = implode ('&', $post_items);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
$result = curl_exec($curl_connection);
echo "Curl Info:<br><pre>";
print_r(curl_getinfo($curl_connection), true);
curl_close($curl_connection);
echo "<br>Result:<br>" . htmlentities($result) . "</pre><br>";
?>
【问题讨论】:
-
问题不在这里,似乎在 /review/product/post/id/2587/ 对应的文件中。
标签: php forms magento recaptcha spam