reCAPTCHA спамеры достали
помогите пожалуйста прикрутить reCAPTCHA
к гостевой самому знаний не хватает
PHP код:
<html>
<body>
<form action="index.php" method="post">
<?php
require_once('recaptchalib.php');
// Get a key from http://recaptcha.net/api/getkey
$publickey = "6LdfUggAAAAAALs1dGKKMOVT2MlGmF3epFIwHVen";
$privatekey = "6LdfUggAAAAAAKemC0Ve1SEHw8zkXZtYjExthFGZ";
# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;
# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) {
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($resp->is_valid) {
echo "Всё ОК";
} else {
# set the error code so that we can display it
$error = $resp->error;
echo "Ошибка!";
}
}
echo recaptcha_get_html($publickey, $error);
?>
<br/>
<input type="submit" value="Вперёд" />
</form>
</body>
</html>
PHP код:
<?
session_start();
include("header.php");
$page=$_GET["page"];
$name=$_POST["name"];
$email=$_POST["email"];
$message=$_POST["message"];
$messages=$_POST["messages"];
if(isset($page)):
$sqlgbactiveno=mysql_query("select*from sysvals where gb_active='NO'");
$rowgbactiveno=mysql_fetch_array($sqlgbactiveno);
if($rowgbactiveno>0):
?>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Гостевая книга отключена</font></td>
</tr>
</table>
<?
echo "<script language='Javascript'>function reload() {location = \"index.php\"}; setTimeout('reload()', 3000);</script>";
else:
?>
<div class="<?=$moduletable;?>">
<h3 align="center"><i>Гостевая книга</i></h3></div>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><a href="gb.php?page=0">Обновить</a> | <a href="gb.php?page#nap">Написать</a></td>
</tr></table>
<?
$sql=mysql_query("select*from gb");
$zapis=mysql_num_rows($sql);
if($zapis==0):
?>
<div align="center"><font color="red">Записей нет</font></div>
<?
endif;
$sql3=mysql_query("select*from sysvals");
$row3=mysql_fetch_array($sql3);
$limit=$row3['gb_records'];
$result=mysql_query("SELECT count(*) FROM gb");
$row=mysql_fetch_row($result);
$numrows=$row['0'];
if (empty($_GET['page'])) $page=0;
$sql = "SELECT * FROM gb ORDER BY id desc LIMIT $page,$limit";
$result = mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($result)) {
$id=$row['id'];
$name=$row['name'];
$email=$row['email'];
$message=$row['message'];
$date=$row['date'];
$admin_date=$row['admin_date'];
$admin_text=$row['admin_text'];
$sql_bb_code=mysql_query("select*from sysvals where bb_code='YES'");
$row_bb_code=mysql_fetch_array($sql_bb_code);
if($row_bb_code>'0'):
$tags_smilie = array(
"/:angry:/siU",
);
$html_smilie = array(
"<img src=images/smilies/yep.gif width=19 height=18 border=0>"
);
$message=preg_replace($tags_smilie, $html_smilie, $message);
$tags_text = array(
"/\[color=(.*)\](.*)\[\/color\]/siU"
);
$html_text = array(
"<span style='font-family:\\1'>\\2</span>",
"<span style='font-size:\\1px'>\\2</span>",
"<strong>\\1</strong>",
"<i>\\1</i>",
"<u>\\1</u>",
"<s>\\1</s>",
"<div align='left'>\\1</div>",
"<div align='center'>\\1</div>",
"<div align='right'>\\1</div>",
"<a href='\\1' target='_blank'>\\2</a>",
"<a href='mailto:\\1'>\\1</a>",
"<table border='0' align='center' width='100%' cellpadding='4' cellspacing='0'><tr><td><span style='font-size: 11px'><b>Прикрепленное изображение:</b></span></td></tr><tr><td align='center' bgcolor='#000000' style='border: #C0C0C0 1px solid;'><a href=\"\\1\" target=\"_blank\"><img src=\"\\1\"></a></td></tr></table>",
"<table border='0' align='center' width='95%' cellpadding='4' cellspacing='0'><tr><td><span style='font-size: 11px'><b>Цитата:</b></span></td></tr><tr><td bgcolor='#000000' style='border: #C0C0C0 1px solid;'>\\1</td></tr></table>",
"<table border='0' align='center' width='95%' cellpadding='4' cellspacing='0'><tr><td><span style='font-size: 11px'><b>Писал(а): \\1</b></span></td></tr><tr><td bgcolor='#000000' style='border: #C0C0C0 1px solid;'>\\2</td></tr></table>",
"<font color='\\1'>\\2</font>"
);
$message=preg_replace($tags_text, $html_text, $message);
endif;
?>
<TABLE bgcolor=000000 width=95% align=center cellPadding=0 cellSpacing=0><TBODY>
<TR><TD width='1%'><IMG src='images/1.gif' width=14 height=12 border=0></TD><TD width='96%' background='images/2.gif'></TD><TD width='1%'><IMG src='images/3.gif' width=14 height=12 border=0></TD></TR>
<TR><TD background='images/4.gif'></TD>
<TD>
<div align="center"><b><a href="mailto:<?=$email;?>"><?=$name;?></a> <small><?=$date;?></small></b> <a href='javascript:' onclick="quote('<?=$name;?>');"><img src="images/buttons/to_quote.png" width="18" height="13" border="0" title="Цитировать"></a></div>
<hr size=-1 width=100%>
<div align="left"><?=$message;?></div>
<?
$ulength=strlen($admin_text);
if ($ulength>'0'):
$sql_bb_code=mysql_query("select*from sysvals where bb_code='YES'");
$row_bb_code=mysql_fetch_array($sql_bb_code);
if($row_bb_code>'0'):
$admin_tags_smilie = array(
"/:angry:/siU",
"/:yep:/siU"
);
$admin_html_smilie = array(
"<img src=images/smilies/yep.gif width=19 height=18 border=0>"
);
$admin_text=preg_replace($admin_tags_smilie, $admin_html_smilie, $admin_text);
$admin_tags = array(
"/\[color=(.*)\](.*)\[\/color\]/siU"
);
$admin_html = array(
"<font color='\\1'>\\2</font>"
);
$admin_text=preg_replace($admin_tags, $admin_html, $admin_text);
endif;
?>
<div align="left"><b><font color="gren">Ответ админа:</font> <small><?=$admin_date;?></small></b> <a href='javascript:' onclick="quote('Админ');"><img src="images/buttons/to_quote.png" width="18" height="13" border="0" title="Цитировать Админа"></div>
<div align="left" class="<?=$form;?>"><?=$admin_text;?></div>
<?
endif;
?>
</TD>
<TD background='images/6.gif'> </TD>
</TR><TR><TD><IMG src='images/8.gif' width=14 height=12 border=0></TD><TD background='images/5.gif'></TD><TD><IMG src='images/9.gif' width=14 height=12 border=0></TD></TR>
</TBODY></TABLE>
<br>
<?
}
$sqluser=mysql_query("select*from gb");
$rowuser=mysql_fetch_array($sqluser);
$sqlrecords=mysql_query("select*from sysvals");
$rowrecords=mysql_fetch_array($sqlrecords);
$limitrecords=$rowrecords['user_records'];
if ($rowuser>$limitrecords):
echo '<table width=100% border=0 align=center cellpadding=0 cellspacing=0><tr><td class=tabletext><span style=float:left>Страницы: ';
$pages=ceil($numrows/$limit);
for ($i=1;$i<=$pages;$i++) {
$newoffset=$limit*($i-1);
if ($page ==$newoffset) {
print ''.($i).' ';
}
else {
echo '<a href="gb.php?page='.($newoffset).'">'.($i).'</a> ';
}
}
echo '</span><span style=float:right><a href=javascript:window.scroll(0,0);><img src=images/buttons/up.png width=33 height=15 border=0 title=Наверх alt=Наверх></a></span></td></tr></table>';
endif;
function print_form($name,$email,$message,$code) {}
?>
<link rel="stylesheet" type="text/css" href="StyleBBCode.css">
<br><a name="nap"></a>
<table class="<?=$moduletablehilite3;?>" width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td colspan="2" align="center"><b><i>Добавить запись</i></b></td>
</tr>
<form method="POST" action="gb.php" id="body">
<tr>
<td align="left">Имя:</td>
<td align="left"><input class="<?=$form;?>" TYPE="text" NAME="name" maxlength="10"></td>
</tr>
<tr>
<td align="left">E-mail:</td>
<td align="left"><input class="<?=$form;?>" TYPE="text" NAME="email" size="40" maxlength="30"></td>
</tr>
<?
$sql_bb_code=mysql_query("select*from sysvals where bb_code='YES'");
$row_bb_code=mysql_fetch_array($sql_bb_code);
if($row_bb_code>0):
?>
<tr>
<td align="left">Оформление:</td>
<td align="left">
<?
require_once 'inc/bbcode.inc.php';
?>
</td>
</tr>
<?
endif;
?>
<tr>
<td align="left">Сообщение:</td>
<td align="left"><textarea class="<?=$form;?>" cols="58" rows="11" wrap="hard" name="message"></textarea></td>
</tr>
<tr>
<td align="left">Проверочный код:</td>
<td align="left"><img src="turimg.php"> <input class="<?=$form;?>" TYPE="text" NAME="code" maxlength="4" size="8"></td>
</tr>
<tr>
<td colspan="2" align="center"><input class="button1" type="submit" name="messages" value=".:: Добавить ::."> <input class="button1" type="reset" value=".:: Очистить ::."></td>
</tr>
</form>
</table>
<br><?
endif;
elseif(isset($messages)):
$ulength=strlen($name);
if (($ulength<'5') || ($ulength>'10')):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Длина имени должна быть от 5 до 10 символов!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if ($name=='Админ'):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Данное имя Админ запрещено!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if ($name=='АДМИН'):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Данное имя АДМИН запрещено!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if ($name=='админ'):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Данное имя админ запрещено!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if ($name=='Admin'):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Данное имя Admin запрещено!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if ($name=='ADMIN'):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Данное имя ADMIN запрещено!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if ($name=='admin'):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Данное имя admin запрещено!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
$sqlad=mysql_query("select*from users where id='1'");
$rowad=mysql_fetch_array($sqlad);
$admin=$rowad['user'];
if ($name=="$admin"):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Данное имя <?=$admin;?> запрещено!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
$ulength=strlen($email);
if (($ulength<'10') || ($ulength>'30')):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Длина E-mail должна быть от 10 до 30 символов!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
$ulength=strlen($message);
if (($ulength<'10') || ($ulength>'500')):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Длина сообщения должна быть от 10 до 500 символов!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if( strtolower($_POST['code'])!= strtolower($_SESSION['texto'])):
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Проверочный код введён не верно!</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
else:
if (eregi("^[a-z0-9_]+([-_\.]?[a-z0-9_])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email)):
$date=date("d.m.Y/H:i:s");
mysql_query("insert into gb values (null, '$name', '$email', '$message', '$date', '', '');");
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center" class="tableheader">Запись добавлена</td>
</tr>
<tr>
<td align="center"><font color="red">Вы будите переадресованы через 3 сек.</font></td>
</tr>
</table>
<?
echo "<script language='Javascript'>function reload() {location = \"$site_url/gb.php?page=0\"}; setTimeout('reload()', 3000);</script>";
?>
<?
else:
?>
<table width="100%" align="center" border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="center"><i><b>Ошибка</b></i></td>
</tr>
<tr>
<td align="center"><font color="red">Не правильно введён E-mail !</font></td>
</tr>
</table>
<br>
<?
echo "<center><b><a href=\"javascript:history.back(1)\">Назад</a></b></center>";
endif;endif;endif;endif;endif;endif;endif;endif;endif;endif;endif;endif;endif;
?>
<?
include("footer.php");?>
|