【问题标题】:Spam Emails being triggered from my php site从我的 php 站点触发的垃圾邮件
【发布时间】:2018-06-21 18:19:51
【问题描述】:

我有一个直截了当的网站用于我的业务,​​其中有一个联系表单(包含字段电子邮件、移动设备、类别和消息),在提交时会触发一封电子邮件给发件人阅读提供的电子邮件 ID。

面临的问题: 垃圾邮件是随机触发的。(作为修复,我集成了一个小的文本库验证码,询问两个 1 位数字的总和,如果提供的答案正确,则提交)。

前几天一切都很好,但随后垃圾邮件又开始四处飘荡。我想这应该是由于垃圾邮件发送者的一些垃圾机器人,但我只是在寻找一种方法可以阻止它并进行修复。

PS:到目前为止,我的 UI 选项有限,因此 Google 验证码/第 3 方验证码会破坏我网站的对齐方式。是的,它不是一个响应式网站。

更新代码以更清晰。

<?php 
$sec1=rand(00,99);
$sec2=rand(01,10);
?>
<div id="leftpanel">
                <div align="justify" class="graypanel">
                <img src="images/computer.jpg"/>
                    <br><hr>
                    <form action="thankyou.php" method="POST" >
                    <fieldset><legend>Get in touch</legend>
                    <input type="text" name="name" placeholder="Your Name" class="formdata">
                    <input type="text" name="email" placeholder="Your Email" class="formdata">
                    <select name="business" class="formdata">
                        <option value="Business Not Disclosed">-------Select Business-------</option>
                        <option value="llp">LLP</option>
                        <option value="inc">Inc</option>
                        <option value="privateLimited">Private Limited</option>
                        <option value="publicLimited">Public Limited</option>
                        <option value="proprietor">Proprietor</option>
                        <option value="startup">Startup</option>
                        </select>
                        <input type="text" name="ans" placeholder="Captcha : <?php echo $sec1; ?>+<?php echo $sec2; ?>=?"><br><br>
                        <input type="hidden" name="trigger" value="true">
                        <input type="hidden" name="sec1" value="<?php echo $sec1; ?>">
                        <input type="hidden" name="sec2" value="<?php echo $sec2; ?>">
                        <input type="submit" value="submit" class="submit">
                    </fieldset>
                    </form>

                    </p>
                </div>
            </div>

【问题讨论】:

  • 您可以将消息字段重命名为 smth else 并将隐藏字段(或不可见的文本区域)命名为消息。所以机器人会在这个字段中输入,而人类用户不会在这个字段中填写。您也可以在服务器上检查是否存在电子邮件 domail 并且电话是否有效。但它并不适用于所有机器人,只会让他们的业务更加困难。
  • @SergiyT。是的,这就是它现在的样子。 1)有隐藏字段以阻止机器人 2)有逻辑检查,它询问什么是 2+3,然后将答案保存为隐藏字段。在提交时,它会通过提交的答案与隐藏字段中的答案进行验证。
  • 所以您将有效答案存储为隐藏字段并在服务器端检查提交?也许输出图像而不是数字并要求用户输入他们在图像中看到的内容,识别图像比识别文本/数字要困难得多。您可以将图像 id 与 tex 输入进行比较,即 1.jpg - 正方形、2.jpg - 三角形等。但这也让普通用户的生活变得更加困难。还有一个问题,如果垃圾邮件发送者是真实的人,而不是机器人/脚本,该怎么办。

标签: php spam-prevention


【解决方案1】:

这正是您不应向用户提供的电子邮件地址发送电子邮件的原因。如果您的网站上有电子邮件表格,则这些电子邮件必须只发给您自己,而不是通过该表格输入的电子邮件地址。您只是提供匿名电子邮件发送服务。

根本没有好的解决办法。您可以使用更有效的 CAPTCHA 解决方案,但这会演变为 CAPTCHA 解决方案与垃圾邮件发送者之间的猫捉老鼠游戏,而垃圾邮件发送者使用更好的技巧来规避它。简单地。别。做。它。

【讨论】:

  • 谢谢,但垃圾邮件再次不受控制。所以在这种情况下,我的邮箱会被垃圾邮件发送。我只是想看看是否有任何强大的解决方案。我什至尝试过 .htaccess 修改以避免机器人,但这也无济于事。
  • 是的,您的收件箱中可能会收到垃圾邮件。但如果这是垃圾邮件发送者能够发送信息的唯一地方,那么激励就会大大降低。但至少您不会在整个互联网上从您的域发送垃圾邮件,从而冒着您的域被其他提供商列入黑名单的风险。同样,您可以提高机器人的门槛,例如使用更好的验证码;你永远无法完全消除机器人。
  • 感谢@deceze,这是有道理的。 :)
猜你喜欢
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
  • 2014-07-18
  • 1970-01-01
相关资源
最近更新 更多