我有非常基本的PHP技能。就目前而言,我正试图“反向”设计一个联系表格,我找到了具有一定级别安全性的线路(我实际上不知道它有多好)。我想我明白了,它确实有效,但我想也许你们中的一些人可以更好地浏览一下它,看看它是否真的还是安全的。
正如我所说,我对它进行了逆向工程,所以我不知道我是否破坏了安全性,但它确实可以正常工作。你可以看到它非常基本。我一直在阅读很多东西并了解一切都做了什么,只是担心订购和冗余(如果有必要,我想避免它)......基本上我可以尽我所能来清理它。
以下代码:
<?php
$to='my@mail.com';
$sender=stripslashes($_POST['sender']);
$email=stripslashes($_POST['email']);
$subject=stripslashes($_POST['subject']);
$message=stripslashes($_POST['message']);
$body= "Greetings,\n\n$message\n\n$sender" .
"\n" ;
$displayForm=true;
if ($_POST){
$sender=($_POST['sender']);
$email=($_POST['email']);
$subject=($_POST['subject']);
$message=($_POST['message']);
$valid=eregi('^([0-9a-z]+[-._+&])*[0-9a-z]+@([-0-9a-z]+[.])+[a-z]{2,6}$',$email);
$crack=eregi("(\r|\n)(to:|from:|cc:|bcc:)",$sender);
$crack=eregi("(\r|\n)(to:|from:|cc:|bcc:)",$message);
if ($sender && $email && $message && $valid && !$crack){
if (mail($to,$subject,$body,'From: '.$email."\r\n")){
$displayForm=false;
?>
<div>Your message has been sent successfully. Thank you for contacting us.</div>
<?php
echo '<p>'.htmlspecialchars($message).'</p>';
}else {
?>
<div>Your message could not be sent due to a system error. We apologize for any inconvenience.</div>
<?php
}
}else if ($crack){
?>
<div>Your message contained one or more anomalies, indicative of malicious content. Please consider revising your wicked ways.</div>
<?php
}else {
?>
<div>You failed to complete a required field, or to provide a valid email address.</div>
<?php
}
}
if ($displayForm){
?>
<form action="./" method="post">
<div class="contact-border"><input class="contact-textbox" type="text" name="sender" id="sender" tabindex="1" value="<?php echo htmlspecialchars($sender); ?>" /> <strong> Name</strong></div>
<div class="contact-border"><input class="contact-textbox" type="text" name="email" id="email" tabindex="2" value="<?php echo htmlspecialchars($email); ?>" /> <strong> Email Address</strong></div>
<div class="contact-border-noreq"><input class="contact-textbox-noreq" type="text" name="subject" id="subject" tabindex="3" value="<?php echo htmlspecialchars($subject); ?>" /> <strong> Subject (optional)</strong></div>
<div class="contact-border"><textarea class="contact-textbox" name="message" id="message" cols="90" rows="15" tabindex="4" ><?php echo htmlspecialchars($message); ?></textarea></div>
<div><input class="submit-button" type="submit" value="Submit" name="submit" /></div>
</form>
<?php
}
?>
答案 0 :(得分:0)
您的代码看起来不错,但我可以建议添加CAPTCHA吗?我犯了一个错误,就是不在我的网站上放一个,并且在垃圾邮件中支付了几天的高价。