例如,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引擎,但它通常不会完成。他们可以,但他们不会。
因此,如果有人专门针对特定网站,那么可以创建以jquery-ajax生成的输入形式输入的脚本吗?
如何防止垃圾邮件发送者的想法
例如,垃圾邮件发送者会收集许多网址,点击网址和一些自动脚本填充必要的字段(或简单地用户复制粘贴)。用户点击Send
并向每个分类广告提交者发送垃圾邮件。
我可以使用&#34;禁止&#34;创建php数组,检查消息中是否存在单词,如果存在,或者根本不发送,或者发送邮件给我,我检查内容。
但垃圾邮件发送者可能会发送类似于&#34;购买我的手机三星&#34;。没有什么&#34;禁止&#34;。
知道怎么预防吗?
下面没有直接阻止它,但这是相关的。如果访问者通过代理站点访问,则允许发送消息是合理的。这是一个很好的例子。使用普通浏览器访问此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中的每条消息记录。发送包含邮件发件人确认链接的电子邮件如果点击确认链接,则处理向广告提交者发送消息。
答案 0 :(得分:0)
另一个简单的解决方案是在JS中创建一个图像数组,并询问用户显示的内容。我非常怀疑您的网站将专门针对垃圾邮件,因此这样的方法会很有效。
如果仍然发生垃圾邮件,请重新评估您的实施情况,然后可能会变得更加复杂。