Subject: Add a simple human verification question
Ok after numerous requests I have decided to write this mod to let you add a test to make sure the poster is human. It's not infallible and will not stop human posters from spamming.
For Advanced Guestbook 2.3.1 and 2.3.2 (instructions for 2.2 are after)
For 2.3.3 or 2.3.4 follow the 2.3.2 instructions.
Open templates/form.php
Find
replace that with
next find
Replace that with
Remember to change the question to make it unique to your site.
Save and close the file
Now open addentry.php UNLESS you are using the guestbook as a module in PHP Nuke in which case make these changes to index.php
For 2.3.1 find
replace with
For 2.3.2 find
replace with
Save and close the file.
Now open lib/add.class.php and find
replace that with
Next find
and replace that with
Now find
Replace with
Next find
and replace it with
Save and close the file.
Finally open lang/english.php (If your guestbook is not in English open the appropriate language file and change the messages into your own language.
Find
and replace it with
Save and close the file and you are done.
INSTRUCTIONS FOR 2.2
Open templates/form.php
Find
replace that with
next find
Replace that with
Remember to change the question to make it unique to your site.
Save and close the file
Now open addentry.php
For 2.3.1 find
replace with
Save and close the file.
Now open lib/add.class.php and find
replace that with
Next find
and replace that with
Now find
Replace with
Next find
and replace it with
Save and close the file.
Finally open lang/english.php (If your guestbook is not in English open the appropriate language file and change the messages into your own language.
Find
and replace it with
Save and close the file and you are done.
For Advanced Guestbook 2.3.1 and 2.3.2 (instructions for 2.2 are after)
For 2.3.3 or 2.3.4 follow the 2.3.2 instructions.
Open templates/form.php
Find
if(document.book.gb_comment.value == "") {
replace that with
if(document.book.bottest.value == "") {
alert("$LANG[ErrorPost12]");
document.book.bottest.focus();
return false;
}
if(document.book.gb_comment.value == "") {
alert("$LANG[ErrorPost12]");
document.book.bottest.focus();
return false;
}
if(document.book.gb_comment.value == "") {
next find
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
Replace that with
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%" class="font2"><img src="$GB_PG[base_url]/img/user.gif" width="16" height="15" alt=""> Human Verification:</td>
<td class="font2">To prove you are not a bot please type the word ARMADILLO into the box below.<br>
<input type="text" size="42" maxlength="30" name="bottest"></td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
<td width="25%" class="font2"><img src="$GB_PG[base_url]/img/user.gif" width="16" height="15" alt=""> Human Verification:</td>
<td class="font2">To prove you are not a bot please type the word ARMADILLO into the box below.<br>
<input type="text" size="42" maxlength="30" name="bottest"></td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
Remember to change the question to make it unique to your site.
Save and close the file
Now open addentry.php UNLESS you are using the guestbook as a module in PHP Nuke in which case make these changes to index.php
For 2.3.1 find
$gb_post->name = (isset($HTTP_POST_VARS["gb_name"])) ? $HTTP_POST_VARS["gb_name"] : '';
replace with
$gb_post->bottest = (isset($HTTP_POST_VARS["bottest"])) ? $HTTP_POST_VARS["bottest"] : '';
$gb_post->name = (isset($HTTP_POST_VARS["gb_name"])) ? $HTTP_POST_VARS["gb_name"] : '';
$gb_post->name = (isset($HTTP_POST_VARS["gb_name"])) ? $HTTP_POST_VARS["gb_name"] : '';
For 2.3.2 find
$gb_post->name = (isset($_POST["gb_name"])) ? $_POST["gb_name"] : '';
replace with
$gb_post->bottest = (isset($_POST["bottest"])) ? $_POST["bottest"] : '';
$gb_post->name = (isset($_POST["gb_name"])) ? $_POST["gb_name"] : '';
$gb_post->name = (isset($_POST["gb_name"])) ? $_POST["gb_name"] : '';
Save and close the file.
Now open lib/add.class.php and find
var $name = '';
replace that with
var $name = '';
var $bottest = '';
var $bottestanswer = 'armadillo'; /* this is the answer to the question. It must contain no ' */
var $bottest = '';
var $bottestanswer = 'armadillo'; /* this is the answer to the question. It must contain no ' */
Next find
if ($this->name == "") {
and replace that with
if (!get_magic_quotes_gpc())
{
$this->bottest = addslashes($this->bottest);
$this->bottestanswer = addslashes($this->bottestanswer);
}
if ($this->name == "") {
{
$this->bottest = addslashes($this->bottest);
$this->bottestanswer = addslashes($this->bottestanswer);
}
if ($this->name == "") {
Now find
} else {
$this->url = trim($this->url);
$this->url = trim($this->url);
Replace with
} elseif ($this->bottest == '') {
return $this->db->gb_error($this->db->LANG["ErrorPost12"]);
} elseif (strtolower($this->bottest) != strtolower($this->bottestanswer)) {
return $this->db->gb_error($this->db->LANG["ErrorPost13"]);
} else {
$this->url = trim($this->url);
return $this->db->gb_error($this->db->LANG["ErrorPost12"]);
} elseif (strtolower($this->bottest) != strtolower($this->bottestanswer)) {
return $this->db->gb_error($this->db->LANG["ErrorPost13"]);
} else {
$this->url = trim($this->url);
Next find
$HIDDEN .= "<input type=\"hidden\" name=\"gb_name\" value=\"".$this->name."\">\n";
and replace it with
$HIDDEN .= "<input type=\"hidden\" name=\"gb_name\" value=\"".$this->name."\">\n";
$HIDDEN .= "<input type=\"hidden\" name=\"bottest\" value=\"".$this->bottest."\">\n";
$HIDDEN .= "<input type=\"hidden\" name=\"bottest\" value=\"".$this->bottest."\">\n";
Save and close the file.
Finally open lang/english.php (If your guestbook is not in English open the appropriate language file and change the messages into your own language.
Find
$LANG["ErrorPost11"] = "You forgot to fill in the Comment field. Please correct it and re-submit.";
and replace it with
$LANG["ErrorPost11"] = "You forgot to fill in the Comment field. Please correct it and re-submit.";
$LANG["ErrorPost12"] = "You forgot to fill in the Human Verification field. Please correct it and re-submit.";
$LANG["ErrorPost13"] = "The Human verification answer you supplied is wrong. Please correct it and re-submit.";
$LANG["ErrorPost12"] = "You forgot to fill in the Human Verification field. Please correct it and re-submit.";
$LANG["ErrorPost13"] = "The Human verification answer you supplied is wrong. Please correct it and re-submit.";
Save and close the file and you are done.
INSTRUCTIONS FOR 2.2
Open templates/form.php
Find
if(document.book.comment.value == "") {
replace that with
if(document.book.bottest.value == "") {
alert("$LANG[ErrorPost12]");
document.book.bottest.focus();
return false;
}
if(document.book.comment.value == "") {
alert("$LANG[ErrorPost12]");
document.book.bottest.focus();
return false;
}
if(document.book.comment.value == "") {
next find
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
Replace that with
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%" class="font2"><img src="$GB_PG[base_url]/img/user.gif" width="16" height="15" alt=""> Human Verification:</td>
<td class="font2">To prove you are not a bot please type the word ARMADILLO into the box below.<br>
<input type="text" size="42" maxlength="30" name="bottest"></td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
<td width="25%" class="font2"><img src="$GB_PG[base_url]/img/user.gif" width="16" height="15" alt=""> Human Verification:</td>
<td class="font2">To prove you are not a bot please type the word ARMADILLO into the box below.<br>
<input type="text" size="42" maxlength="30" name="bottest"></td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%"><div align="left" class="font2">$HTML_CODE<br>$SMILE_CODE<br>$AG_CODE</div></td>
<td>
Remember to change the question to make it unique to your site.
Save and close the file
Now open addentry.php
For 2.3.1 find
$gb_post->name = (isset($HTTP_POST_VARS["name"])) ? $HTTP_POST_VARS["name"] : '';
replace with
$gb_post->bottest = (isset($HTTP_POST_VARS["bottest"])) ? $HTTP_POST_VARS["bottest"] : '';
$gb_post->name = (isset($HTTP_POST_VARS["name"])) ? $HTTP_POST_VARS["name"] : '';
$gb_post->name = (isset($HTTP_POST_VARS["name"])) ? $HTTP_POST_VARS["name"] : '';
Save and close the file.
Now open lib/add.class.php and find
var $name = '';
replace that with
var $name = '';
var $bottest = '';
var $bottestanswer = 'armadillo'; /* this is the answer to the question. It must contain no ' */
var $bottest = '';
var $bottestanswer = 'armadillo'; /* this is the answer to the question. It must contain no ' */
Next find
if ($this->name == "") {
and replace that with
if (!get_magic_quotes_gpc())
{
$this->bottest = addslashes($this->bottest);
$this->bottestanswer = addslashes($this->bottestanswer);
}
if ($this->name == "") {
{
$this->bottest = addslashes($this->bottest);
$this->bottestanswer = addslashes($this->bottestanswer);
}
if ($this->name == "") {
Now find
} else {
$this->url = trim($this->url);
$this->url = trim($this->url);
Replace with
} elseif ($this->bottest == '') {
return $this->db->gb_error($this->db->LANG["ErrorPost12"]);
} elseif (strtolower($this->bottest) != strtolower($this->bottestanswer)) {
return $this->db->gb_error($this->db->LANG["ErrorPost13"]);
} else {
$this->url = trim($this->url);
return $this->db->gb_error($this->db->LANG["ErrorPost12"]);
} elseif (strtolower($this->bottest) != strtolower($this->bottestanswer)) {
return $this->db->gb_error($this->db->LANG["ErrorPost13"]);
} else {
$this->url = trim($this->url);
Next find
$HIDDEN .= "<input type=\"hidden\" name=\"name\" value=\"".$this->name."\">\n";
and replace it with
$HIDDEN .= "<input type=\"hidden\" name=\"name\" value=\"".$this->name."\">\n";
$HIDDEN .= "<input type=\"hidden\" name=\"bottest\" value=\"".$this->bottest."\">\n";
$HIDDEN .= "<input type=\"hidden\" name=\"bottest\" value=\"".$this->bottest."\">\n";
Save and close the file.
Finally open lang/english.php (If your guestbook is not in English open the appropriate language file and change the messages into your own language.
Find
$LANG["ErrorPost11"] = "You forgot to fill in the Comment field. Please correct it and re-submit.";
and replace it with
$LANG["ErrorPost11"] = "You forgot to fill in the Comment field. Please correct it and re-submit.";
$LANG["ErrorPost12"] = "You forgot to fill in the Human Verification field. Please correct it and re-submit.";
$LANG["ErrorPost13"] = "The Human verification answer you supplied is wrong. Please correct it and re-submit.";
$LANG["ErrorPost12"] = "You forgot to fill in the Human Verification field. Please correct it and re-submit.";
$LANG["ErrorPost13"] = "The Human verification answer you supplied is wrong. Please correct it and re-submit.";
Save and close the file and you are done.
C a r b o n i z e
This post was edited 14 times, last on 2005-09-26, 09:17 by Unknown user.