垃圾邮件和输入表单

时间:2018-08-30 18:26:25

标签: html forms security spam-prevention

我的网站上有一个贝宝表格,其中包含我的电子邮件地址:

<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="email@samplemail.com">

我想知道垃圾邮件发送者是否可以在此隐藏字段中扫描我的电子邮件以向我发送垃圾邮件,如果可以,我如何防止这种情况发生?

4 个答案:

答案 0 :(得分:5)

尽管您无法真正阻止垃圾邮件发送程序,但您可以做一些事情来帮助您:

许多垃圾邮件搜索引擎倾向于在代码中寻找@符号,因此您可以使用以下替代方法:

  • youremail-at-example.com

  • youremail(at)example.com

  • 您在AT示例DOT com上发邮件

您还可以使用ASCII字符代码,它们是某些符号的代码。对于@符号,代码为&#64

尽管它会掩盖您的@符号,但许多垃圾邮件监听程序都可以检测ASCII码。

还有其他一些选项,例如添加一些javascript,使用图像,使用机器人TXT文件,但是您可以单击下面的链接以获取更多详细信息和想法。

您可以查看更多详细信息和想法,以保护电子邮件免受垃圾邮件here

答案 1 :(得分:2)

恕我直言,执行此操作的最佳方法是通过服务器上的CGI进程代理响应,而根本不公开HTML中的电子邮件地址。对于大多数人来说,这是个开门红,作为后备,我会在页面上的某个地方设置带有JS的电子邮件地址字段,而不是只是预先填充以供最基本的抓取工具解析。

答案 2 :(得分:2)

您最好的选择是将混淆的值放在文档中的某个位置,然后使用js将其放在正确的位置。

例如:

<script>
    var wtf = 'm'+'a'+'i'+'l'+'&'+'#'+'6'+'4'+';'+'s'+'a'+'&'+'#'+'1'+'0'+'9'+';'+'&'+'#'+'1'+'1'+'2'+';'+'l'+'e'+'m'+'&'+'#'+'9'+'7'+';'+'i'+'l'+'&'+'#'+'4'+'6'+';'+'c'+'o'+'m';
    // sets wtf to 'mail@samplemail.com'

    $('#yourfield').val(wtf); // sets value of a field to wtf (assumes jQuery)
</script>

这应该防止使用正则表达式等类似的方式来搜索电子邮件地址以捕获该地址。也就是说,这不会愚弄自定义的解析器。

要欺骗定制的解析器,您将需要一些服务器端功能来混淆js / html代码。这些操作的目的是隐藏可用于字符串解析的所有句柄。例如:

  • 随机字段ID /名称/位置
  • 随机js变量名称
  • 随机化的混淆:
    • 有时使用字符的ASCII码
    • 有时使用字符
    • 在同一字符串中放入随机数字符,例如'm'+'ai'+'\&#x6C'
    • 使用不同的连接功能,例如String.join(),+和Array.reduce()

这些技巧应阻止大多数脚本小子

答案 3 :(得分:1)

机器人可能可以通过开发人员工具(按F12键)访问代码,也可以使用chrome浏览。如果您确实想防止漫游器,垃圾邮件发送者等,则应使用其他免费电子邮件(例如mail.com)作为值。或者,如果需要,您可以在电子邮件上使用沉重的垃圾邮件阻止程序。