联系表格垃圾邮件

时间:2013-02-01 15:25:32

标签: webforms spam

我的网站上有联系表格。我有一个“允许”科目的下拉列表。但是,我一直收到来自表单的电子邮件,其中的主题不在我的下拉表单中。

表单是一个ExpressionEngine模板,它通过添加的url段提交给自己.i.e'/ contact / submit'。模板检查提交段,然后将值发送到构建电子邮件并发送它的EE插件。表单的方法是POST。

他们怎么能绕过主题下拉?

4 个答案:

答案 0 :(得分:2)

可能发生的事情是他们正在注射自己的主题。如果您的下拉值是字符串,并且您只是按原样使用它们,那么使用您自己的主题非常容易。

作为修复,您可以将数字ID绑定到每个下拉列值,然后在后端,在可能的值之间切换。例如(在PHP中)

<?php
$reject = false;
if(isset($_POST['subject']))
{
    switch(intval($_POST['subject']))
    {
        case 1: // General inquiry:
           $subjectStr = "General Inquiry";
           break;
        ...
        default: 
           $reject = true;
           break;
    }
}
else
{
    $reject = true;
}
if(!$reject)
{
    // Process email
}
?>

答案 1 :(得分:1)

您(或浏览器或垃圾邮件脚本/应用程序)可以向服务器“发布”任何内容。由Web应用程序决定什么是有效的,并根据输入采取行动(或忽略请求)。我建议你考虑重写你的EE模板,使其更加健壮(即在采取行动之前验证输入)。

答案 2 :(得分:1)

是。这将非常简单,并创建一个机器人。类似于Captcha或MintEye的东西是目前避免基于僵尸程序的垃圾邮件的最佳做法。

答案 3 :(得分:1)

浏览器可见的任何内容都可能以某种方式受到损害。事实上,你看到一个下拉列表,它可能在视觉上看起来是安全的,但事实并非如此。如果你没有安全机制作为验证码或其他类似的东西,情况会好10倍 - 在这种情况下,任何人都可以写一个指向你的形式的动作的脚本。否则,当我接受它时,人们可能会坚持使用“青少年”方法。 Firefox有一个名为firebug的扩展,允许您修改html,在您的特定情况下 - 下拉菜单。 Chrome默认已集成(点击f12)。您最好的选择是重新设计安全机制。