如何修复此php电子邮件提交表单?
如何修复此php电子邮件提交表单?,php,email,Php,Email,我是PHP新手,如何更改此代码以使此PHP邮件文件检查表单数据是否确实存在 我的目标是通过在浏览器中访问php邮件,防止机器人和恶意用户发送空白电子邮件 问候,, 乔治 <?php $to_email = 'myemail@myemail.com'; $subject = 'Service Request'; $Body_Msg = "A new contact form submitted by ".$_REQUEST["F_Name"]. " \r\n Nam
我是PHP新手,如何更改此代码以使此PHP邮件文件检查表单数据是否确实存在 我的目标是通过在浏览器中访问php邮件,防止机器人和恶意用户发送空白电子邮件 问候,,
乔治
<?php
$to_email = 'myemail@myemail.com';
$subject = 'Service Request';
$Body_Msg = "A new contact form submitted by ".$_REQUEST["F_Name"].
" \r\n Name: ". $_REQUEST["F_Name"].
"\r\nPhone No: ".$_REQUEST["your_phone"].
" \r\nEmail: ".$_REQUEST["email_id"].
"\r\nServices wanted: ".$_REQUEST["services"].
"\r\nAddress: ".$_REQUEST["Address"].
"\r\nMessage: ".$_REQUEST["Message"].
nl2br($Body_Msg);
$headers = 'From: website@mywebsite.com';
mail($to_email,$subject,$Body_Msg,$headers);
echo "Thank you for contacting My Company. We will revert you shortly.";
?>
<script type="text/javascript">
window.setTimeout(function(){
// Move to a new location or you can do something else
window.location.href = "contact.html";
}, 500);
</script>
setTimeout(函数(){
//移动到一个新的位置,或者你可以做其他事情
window.location.href=“contact.html”;
}, 500);
在保护表单时,需要应用许多因素。最好是继续前进,并遵循一个好的指南(从许多人那里)。
这将加强你的安全。
此外,将验证码添加到html表单中始终是一个很好的做法
祝您好运下面是一些代码,用于检查表单属性电子邮件是否通过HTTP POST传递,如果是,则将其分配给变量
<?php
if($_SERVER['REQUEST_METHOD']=='POST') {
if(isset($_POST['email'])) {
$email = $_POST['email'];
}
if(is_null($email)) {
die('No email field posted.');
}
}
您可能还需要验证和/或过滤/清理您的数据,以防止用户输入漏洞(即电子邮件标题注入-可能导致表单/电子邮件垃圾邮件)。您好,我们不提供解决方案,但提供帮助。尝试一些东西,如果不起作用,请寻求帮助。如果没有一些输入字段检查/卫生,您可能会打开电子邮件标题注入。特别是,根据最初的帖子,阻止空白电子邮件可能不是很有帮助-大多数机器人将提交垃圾邮件内容,而不是空白内容,这很难过滤。本答案中的链接文章是进一步探索这一问题的良好开端。
$email = $_POST['email'] ?? null;