【问题标题】:jquery-php-mysql Ideas how to prevent spam for classifieds ads website (spam as reply to ad)jquery-php-mysql 想法如何防止分类广告网站的垃圾邮件(垃圾邮件作为广告回复)
【发布时间】:2015-02-21 22:00:49
【问题描述】:

例如,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 包含输入表单。所以用简单的查看源代码看不到输入表单。

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

阅读本文https://stackoverflow.com/a/826303/2118559

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

那么,如果有人专门针对特定网站,那么可以创建脚本来输入使用 jquery-ajax 生成的输入表单吗?

了解如何防止人类垃圾邮件发送者

例如垃圾邮件发送者收集许多 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 不起作用。所以好像没必要写一些特殊的代码。

另一个想法是设置一分钟(或更多)的时间限制来发送下一条消息。据了解访问者可以删除cookies和更改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中的每条消息记录。将带有确认链接的电子邮件发送给消息发件人。如果点击确认链接,则处理向广告提交者发送消息。

【问题讨论】:

    标签: php jquery mysql


    【解决方案1】:

    这个问题你是不是有点想多了?我绝对不认为你应该为每篇文章额外读/写数据库。已经有易于实施的解决方案,例如验证码。

    另一个简单的解决方案是在 JS 中创建一个图像数组并询问用户显示的内容。我非常怀疑您的网站是否会专门针对垃圾邮件,因此这样的方法会有效。

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

    【讨论】:

    • 是的,可能是想多了。但是如果通过代理访问如何防止发送电子邮件以及如何设置时间限制以便人们只能在特定时间限制后发送下一条消息,那么获得答案非常有趣。并且不想使用验证码。想让普通访问者轻松发送消息。
    • 我看到的我推荐的常见事情是创建 2 个随机数并要求用户执行简单的数学运算,例如加法或减法。正如我所提到的,尽管我觉得如果使用良好的设计(例如“图像中有多少只猫”或“水果是什么颜色”)来处理图像验证,就会感觉无创。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 2012-12-08
    • 2013-04-27
    • 1970-01-01
    • 2011-10-08
    相关资源
    最近更新 更多