こちら で説明されている Web フォームの難読化方法を使用して、スパマーを捕まえたいと考えています。
唯一の問題は、ColdFusionサーバーを使用していて、mailto
フォームが cfm にあることです。
if( !isset($_POST['name'])) { die("No Direct Access"); } // Make sure the form has actually been submitted
$name = $_POST['name'];
$email = $_POST['email'];
$spam = $_POST['username']; // This is our Honeypot field
if($spam) { // If the Honeypot field has been filled in
die("No spamming allowed!");
} else {
// Process the form like normal
}
(更新: コメントからのコード)
私のフォーム:
<tr style="display: none;">
<td> <li id="user" style="display: none;">
<label for="spamCatch">spamCatch</label>
<input type="text" name="spamCatch">
</li>
</td>
</tr>
私のメール cfm:
<cfparam name="form.Notform1" default="">
<cfset spam = false>
<cfif structKeyExists(form,'name')>
<cfset spamCheck = form.spamCheck>
<cfif spam>
No spam.
<cfabort>
<cfelse>
<cfmail from="title" to="email" subject="subject" server="servername" type="html">
<style type="text/css">
<cfinclude template="../css/cfForms.css">
</style>
HTML HERE FROM FORM
</cfmail>
</cfif>
</cfif>