gpt4 book ai didi

javascript - 尝试实现一个简单的垃圾邮件拦截器

转载 作者:行者123 更新时间:2023-12-03 12:10:14 24 4
gpt4 key购买 nike

我已经接管了一个由别人建立的网站的维护。这个网站主要是 HTM/CSS,但是它使用了奇怪的 javascript 代码和 PHP,这是由签约的后端程序员实现的。

我遇到的问题是 - 该网站由很多页面组成,每个页面都有自己独特的电子邮件表单。这些表单中的每一种都是在不考虑垃圾邮件的情况下创建的。现在这些表单收到了大量垃圾邮件,我希望能够纠正这个问题(尽管我既不是 Javascript 也不是 PHP 程序员)。我需要一些帮助,因为由于该电子邮件系统的重要性,我无法尝试和猜测解决方案。

我希望我可以发布代码并让有人指导我完成实现蜜 jar 或简单数学方程的过程(我知道这不是 100% 万无一失,但这些只是制作不良的垃圾邮件机器人,并且该网站可能不会被主动定位)。

表单页面:该页面由一些 PHP 和一些 Javascript 组成,但大部分只是内容,我将避免发布这些内容,因为它不太重要。不过,我会按顺序发布脚本。 (此外,productformvalidation.js 文件是一个简单的 Javascript 脚本,如果电子邮件/电话号码没有正确的字符,它会抛出弹出消息。如果需要,我也可以提供)

<?php

/* validation function for when they press the submit button */
function validateFields($fields, $form_vars) {
$errors = array();
foreach($fields as $field_name => $error_msg) {
$value_entered = trim(@$form_vars[$field_name]);
if(empty($value_entered)) {
$errors[$field_name] = $error_msg;
}
}
return $errors;
}

function safe($str) { return htmlentities(strip_tags($str)); }

?>

<head>

<script type="text/javascript" src="js/productFormValidation.js"></script>

</head>

<body>

<div class="contact_links">
<form name="contact" method="post" action="/sendmail/send-mail-start.php" enctype="multipart/form-data" onsubmit="return checkForm(this);">


<label>Name: (required) </label><input class="input1" id="name" name="name" type="text" value="" />


<label>Email: (required) </label><input class="input1" id="email" name="email" type="text" value="" /><br />


<label>Phone: (required) </label><input class="input1" id="phone" name="phone" type="text" value="" />
<label>Company: (required) </label><textarea class="input2" name="comments" id="comments" cols="" rows="1"></textarea><br />
<input type="image" src="images/individualProducts/submit.png" alt="" value="" class="submit" />


</form>

<!-- INDIVIDUAL CONTACT LINK ENDS --></div>

</body>

“操作”页面:

<?php

$date1=date("F d,Y");

$nameField=$_POST['name'];
$companyField=$_POST['company'];
$countryField=$_POST['country'];
$stateField=$_POST['state'];
$emailField=$_POST['email'];
$phoneField=$_POST['phone'];
$urlField=$_POST['url'];



$messageField=nl2br($_POST['comments']);


$body="

$body is followed by the table setup which contains the code. Basically just font-specifications, padding etc.

//$from=$firstNameField;
$sub="Contact Form - From the Start Page".$titleField;

$name=$firstNameField."< ".$emailField." >";
$to="info@mysite.com";

if (mail($to,$sub,$body,"From:".$name."\nContent-Type: text/html; charset=iso-8859-1"))
{
print "<meta http-equiv=\"refresh\" content=\"3;URL=/start.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.php\">";
}

?>

接下来是 HTML,基本上感谢他们的联系。这些是涉及的脚本。

如果我自己创建了该网站,我就可以自己实现验证码,只需找到正确的指南并按照步骤操作即可。不幸的是,其他人已经组织了这个邮件结构,而我被迫使用我不完全理解的设置 - 我也没有学会理解。我遇到语法错误,我不确定在哪里粘贴代码片段等。

我需要有人能够看到我的盘子里有什么,了解正在发生的事情,来帮助我实现一个简单的垃圾邮件解决方案,以防止恼人的机器人邮件的发生。

此外 - 由于 reCaptcha 的大小和阅读难度,因此不适合使用。

提前谢谢您。

最佳答案

一个快速(但不完美)的解决方案是添加一个机器人将填写的隐藏字段(将其称为“用户名”并使用 CSS 隐藏它),如果该字段有内容则取消提交。这至少会删除大量垃圾邮件提交。

您的表单将如下所示:

<form name="contact" method="post" action="/sendmail/send-mail-start.php" enctype="multipart/form-data" onsubmit="return checkForm(this);">

<label>Name: (required)</label>
<input class="input1" id="name" name="name" type="text" value="" />

<label class="hidethis">Username: (required)</label>
<input class="input1 hidethis" id="username" name="username" type="text" value="" />

<label>Email: (required)</label>
<input class="input1" id="email" name="email" type="text" value="" />
<br />
<label>Phone: (required)</label>
<input class="input1" id="phone" name="phone" type="text" value="" />
<label>Company: (required) </label>
<textarea class="input2" name="comments" id="comments" cols="" rows="1">
</textarea>
<br />
<input type="image" src="images/individualProducts/submit.png" alt="" value="" class="submit" />
</form>

/sendmail/send-mail-start.php将像这样开始:

<?php
if($_POST['username']!= "") {die("No spam");}
$date1=date("F d,Y");
$nameField=$_POST['name'];
$companyField=$_POST['company'];
$countryField=$_POST['country'];
... // Rest of your code

关于javascript - 尝试实现一个简单的垃圾邮件拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com