jqueryphp-mysql如何防止垃圾邮件的分类广告网站(垃圾邮件作为广告回复)


jquery-php-mysql Ideas how to prevent spam for classifieds ads website (spam as reply to ad)

例如,ad.php包含输入表单,访问者在其中键入一些文本,单击Send并向广告的提交者发送消息http://www.gumtree.com/reply/1101434176

如何防止机器人的想法

据我所知,机器人看不到生成的源?

所以,ad.php的想法是这样的:

<span id="span_send_message" style="cursor:pointer">
<u>Send message to the advertiser </u>
</span>
<div id="input_form"></div>

jquery

$(document).on('click', '#span_send_message', function(){
$.post( "show_input_form.php", { ... }, function(data_input_form) {
$("#input_form").html( data_input_form);
});
});

show_input_form.php包含输入表单。因此,使用简单的View源无法看到输入表单。

这是针对垃圾邮件机器人的有效措施吗?

正在阅读此https://stackoverflow.com/a/826303/2118559

从技术上讲,没有什么能阻止搜索引擎为他们的机器人/蜘蛛实现javascript引擎,但这通常是不可能的。他们可以,但不会。

所以,如果有人专门针对特定的网站,那么可以创建输入jqueryajax生成的输入表单的脚本吗?

如何防止垃圾邮件发送者的想法

例如,垃圾邮件发送者收集了许多url,点击url,一些自动脚本填充了必要的字段(或者只是用户复制粘贴)。用户点击Send并向分类广告的每个提交者发送垃圾邮件。

我可以创建带有"禁止"的php数组,检查消息中是否存在单词,如果存在,要么根本不发送,要么向我发送邮件,我检查内容。

但垃圾邮件发送者可能会发送类似"买我的手机三星"的信息。没有什么是"禁止的"。

知道如何预防吗?

下面不直接阻止它,但这是有关系的。如果访问者通过代理网站访问,不允许发送消息是合理的。这里有一个很好的例子。访问此https://www.ss.lv/msg/en/transport/cars/audi/80/gcpcn.html使用普通浏览器,您可以看到发送电子邮件的可能性。通过代理访问,不可能点击发送电子邮件。如何在网站上实现相同的功能?检查了Chrome和F12,发现代理网站使用了一些会产生错误的javascript代码,可能代理javascript与ss.lv的javascript不兼容。因此,ss.lv javascript不起作用。所以似乎没有必要写一些特殊的代码。

另一个想法是设置发送下一条消息的一分钟(或更长)时间限制。据了解,访问者可以删除cookie并更改ip地址,所以我不能以这种方式识别访问者?

决定将所有消息记录在单独的表中。然后使用类似的东西:

SELECT IdMessage, TextOfMessage, 
MATCH (`TextOfMessage`) AGAINST ( ? IN BOOLEAN MODE) `score`
FROM `table_name` WHERE 
MATCH (`TextOfMessage`) AGAINST ( ? IN BOOLEAN MODE)
HAVING `score` >= 8
WHERE Timestamp "during last minute"
ORDER BY `score` DESC

但是,如果多个普通访问者发送非常相似的信息,他们就不能发送。对此有什么想法吗?

另一个想法

mysql中的每条消息记录。向邮件发件人发送带有确认链接的电子邮件。如果点击确认链接,则处理向广告提交者发送消息。

你不是对这个问题考虑得太多了吗?我绝对不认为你应该为每一篇文章额外地读/写数据库。已经有一些容易实现的解决方案,比如captcha。

另一个简单的解决方案是在JS中创建一个图像数组,并询问用户显示了什么。我非常怀疑你的网站会专门针对垃圾邮件,所以这样的方法会很有效。

如果垃圾邮件仍然存在,请重新评估您的实现,然后可能会变得更加复杂。