"; $back="
Вернитесь назад"; // Удобная строка // Для цифрозащиты антиспам: $maxkey=4; // Колличество символов в коде (можно изменять) $absrand="676756";// Случайное число. Используется для цифрозащиты. Генерировать его нужно случайно при настройке или изменении конфигурации скрипта. if (isset($_GET['image'])) { // Функция с цифрами защиты $st="R0lGODlhCgAMAIABAFNTU////yH5BAEAAAEALAAAAAAKAAwAAAI"; // общая часть для всех рисунков function imgwr($st,$num){ if ($num=="0") {$len="63"; $number=$st."WjIFgi6e+QpMP0jin1bfv2nFaBlJaAQA7";} if ($num=="1") {$len="61"; $number=$st."UjA1wG8noXlJsUnlrXhE/+DXb0RUAOw==";} if ($num=="2") {$len="64"; $number=$st."XjIFgi6e+QpMPRlbjvFtnfFnchyVJUAAAOw==";} if ($num=="3") {$len="64"; $number=$st."XjIFgi6e+Qovs0RkTzXbj+3yTJnUlVgAAOw==";} if ($num=="4") {$len="64"; $number=$st."XjA9wG8mWFIty0amczbVJDVHg9oSlZxQAOw==";} if ($num=="5") {$len="63"; $number=$st."WTIAJdsuPHovSKGoprhs67mzaJypMAQA7";} if ($num=="6") {$len="63"; $number=$st."WjIFoB6vxmFw0pfpihI3jOW1at3FRAQA7";} if ($num=="7") {$len="61"; $number=$st."UDI4Xy6vtAIzTyPpg1ndu9oEdNxUAOw==";} if ($num=="8") {$len="63"; $number=$st."WjIFgi6e+QpMP2slSpJbn7mFeWDlYAQA7";} if ($num=="9") {$len="64"; $number=$st."XjIFgi6e+QpMP0jinvbT2FGGPxmlkohUAOw==";} header("Content-type: image/gif"); header("Content-length: $len"); echo base64_decode($number); } // Вывод изображений на экран (все кодированы - робот не пройдёт) if (array_key_exists("image", $_REQUEST)) { $num=$_REQUEST["image"]; for ($i=0; $i<10; $i++) {if (md5($i+$absrand)==$num) {imgwr($st,$i); die();}} } exit;} //******************* Ниже лучше ничего не трогать ************************// // Событие проверки на ошибки и отправки сообщения // if (isset($_GET['event'])) { if ($_GET['event']=="add") { sleep(1); // мелкая защита от БОТОВ. Человеку секунда не время - а прога по подбору ключа - будет работать долго и не загружать сервер if ($antispam!="0") { $bada="$shapka $back Введённый вами код НЕ верен!"; if (isset($_POST['usernum'])) {$usernum=$_POST['usernum'];} else {print"$bada"; exit;} if (isset($_POST['xkey'])) {$xkey=$_POST['xkey'];} else {print"$bada"; exit;} $userkey=md5("$usernum+$absrand"); if ($userkey!=$xkey) {print"$bada"; exit;}} if (!isset($_POST['name'])) {print"$shapka $back Вы не ввели имя!";} else {$name=$_POST['name'];} if (!isset($_POST['email'])) {print"$shapka $back Вы не ввели емайл!";} else {$email=$_POST['email'];} if (!isset($_POST['tema'])) {print"$shapka $back Вы не ввели тему!";} else {$tema=$_POST['tema'];} if (!isset($_POST['msg'])) {print"$shapka $back Вы не ввели сообщение!";} else {$msg=$_POST['msg'];} if ($name=="" || strlen($name)>$maxname) {print "$shapka $back Вы не ввели имя, или вввели слишком длинное имя!
"; exit;} if ($msg=="" || strlen($msg)>$maxmsg) {print "$shapka $back Ваше сообщение или пустое или превышает $maxmsg символов."; exit;} //if ($tema=="" || strlen($tema)>$maxtema) {print "$shapka $back Вы не ввели тему!"; exit;} if(!preg_match("/^[a-z0-9\.\-_]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is", $_POST['email']) or $_POST['email']=="") {print "$shapka $back и введите корректный E-mail адрес!"; exit;} // Защита от взлома $name=str_replace("|","|",$name); $tema=str_replace("|","|",$tema); $msg=str_replace("|","|",$msg); $text="$name|$tema|$email|$msg|"; $text=str_replace(" ",' ',$text); $text=str_replace("&",'&',$text); $text=str_replace(">",'>',$text); $text=str_replace("<",'<',$text); $text=str_replace("\"",'"',$text); $text=preg_replace("/\n\n/",'

',$text); $text=preg_replace("/\n/",'
',$text); $text=preg_replace("/\\\$/",'$',$text); $text=preg_replace("/\r/",'',$text); $text=stripslashes($text); $text=preg_replace("/\\\/",'\',$text); $text=str_replace("\r\n","
",$text); $text=str_replace("\n\n",'

',$text); $text=str_replace("\n",'
',$text); $text=str_replace("\t",'',$text); $text=str_replace("\r",'',$text); $text=str_replace(' ',' ',$text); $exd=explode("|",$text); $name=$exd[0]; $tema=$exd[1]; $email=$exd[2]; $msg=$exd[3]; $host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"]; $smailurl="http://$host$self"; $date=date("d.m.Y"); // число.месяц.год $time=date("H:i:s"); // часы:минуты:секунды // Настройки для отправки писем $headers=null; $headers.="Content-Type: text/html; charset=windows-1251\r\n"; $headers.="From: ".$name." <".$email.">\r\n"; $headers.="X-Mailer: PHP/".phpversion()."\r\n"; // Собираем всю информацию в теле письма $allmsg="

Сообщение от посетителя сайта \"$smailurl\"

Информация
Имя:$name
Е-майл:$email
Дата отправки:$time - $date г.
Тема:$tema
Текст:$msg

Ваше сообщение успешно отправлено

Вернуться назад"; $printmsg="$allmsg "; $allmsg.="


* Это сообщение сгенерировано и отправлено роботом с формы обратной связи. Отвечать на него не нужно."; // Отправляем письмо майлеру на съедение ;-) mail("$myemail", "Обратная связь. Сообщение от $name", $allmsg, $headers); // Пишем пользователю "Спасибо" и обновляем страницу через JavaScript print "$printmsg"; exit; } } else { // Типо главной страницы print "
"; print "
Написать письмо администрации
"; } print"
 
Имя     Ваш E-mail
Тема сообщения:  
Сообщение
"; // Антиспам if ($antispam!="0") { // Вывод изображений на экран (все кодированы - робот не пройдёт) if (array_key_exists("image", $_REQUEST)) { $num=$_REQUEST["image"]; for ($i=0; $i<10; $i++) {if (md5($i+$absrand)==$num) {imgwr($st,$i); die();}} } $xkey=""; mt_srand(time()+(double)microtime()*1000000); print"
Защитный код:   "; for ($i=0; $i<$maxkey; $i++) { $snum[$i]=mt_rand(0,9); $psnum=md5($snum[$i]+$absrand); $phpself=$_SERVER["PHP_SELF"]; echo "\n"; $xkey=$xkey.$snum[$i]; } $xkey=md5("$xkey+$absrand"); print"      (введите число, указанное на картинке)

"; } ?>