【发布时间】: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中的每条消息记录。将带有确认链接的电子邮件发送给消息发件人。如果点击确认链接,则处理向广告提交者发送消息。
【问题讨论】: