Alexey87
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору <?php session_start(); //Сообщение ЛОХУ $strpath="admin/conf/stop_mes.txt"; $size=filesize($strpath); if($size): $f=fopen($strpath,'r'); @$stop_mes=fread($f, filesize($strpath)); fclose($f); endif; //Данные из настроек $strpath="admin/conf/mes.txt"; @$f=fopen($strpath,'r'); $cont=file($strpath); fclose($f); //Форма $strpath="admin/conf/form.txt"; @$f=fopen($strpath,'r'); $setForm=file($strpath); fclose($f); //Позиция if($setForm[7]==1)$al="left"; if($setForm[7]==2)$al="center"; if($setForm[7]==3)$al="right"; //Код================================== $strpath="admin/conf/code/topcode.txt"; $size=filesize($strpath); if($size) { $f=fopen($strpath,'r'); @$code_top=fread($f, filesize($strpath)); fclose($f); } $strpath="admin/conf/code/botcode.txt"; $size=filesize($strpath); if($size) { $f=fopen($strpath,'r'); @$code_bot=fread($f, filesize($strpath)); fclose($f); } $strpath="admin/conf/code/leftcode.txt"; $size=filesize($strpath); if($size) { $f=fopen($strpath,'r'); @$code_left=fread($f, filesize($strpath)); fclose($f); } $strpath="admin/conf/code/rigcode.txt"; $size=filesize($strpath); if($size) { $f=fopen($strpath,'r'); @$code_rig=fread($f, filesize($strpath)); fclose($f); } $strpath="admin/conf/code/align.txt"; @$f=fopen($strpath,'r'); $al_code=file($strpath); fclose($f); //Очищаем от \n $i=0; foreach($al_code as $line) { $al_code[$i]=str_replace("\r\n","",$al_code[$i]); $al_code[$i]=trim($al_code[$i]); $i++; } $i=0; foreach($cont as $line) { $cont[$i]=str_replace("\r\n","",$cont[$i]); $cont[$i]=trim($cont[$i]); $i++; } $i=0; if($al_code[0]==1)$al_top="left"; if($al_code[0]==2)$al_top="center"; if($al_code[0]==3)$al_top="right"; if($al_code[1]==1)$al_bot="left"; if($al_code[1]==2)$al_bot="center"; if($al_code[1]==3)$al_bot="right"; if($al_code[2]==1)$al_left="top"; if($al_code[2]==2)$al_left="bottom"; if($al_code[2]==3)$al_left="center"; if($al_code[3]==1)$al_rig="top"; if($al_code[3]==2)$al_rig="bottom"; if($al_code[3]==3)$al_rig="center"; if (@$code_left=="")$al_code[4]=0; if (@$code_rig=="")$al_code[5]=0; $size_centr_tab= 100-($al_code[4]+$al_code[5]); $al_code[6]+=10; //========================================= $err=""; $err1=""; $mod=""; //код на картинке $img="img/".rand(1,12).".jpg"; //Если нажали GO============================================================================= //Если предосмотр if (@$_POST['view']) { @$f=fopen("admin/conf/pre" ,"w+"); fwrite($f,@$_POST['name']."*|*".@$_POST['city']."*|*".@$_POST['mail']."*|*".@$_POST['site']."*|*".@$_POST['icq']."*|*".@$_POST['mes']); fclose($f); echo " <script language='JavaScript1.1' type='text/javascript'> <!-- window.open('view.php','','width=750,height=450,status=no,toolbar=no,menubar=no'); //--> </script>"; } if (@$_POST['Go']) { //Не из чёрного ли списка? //Получаем ip из чёрного списка $d=opendir("bl"); $i=0; while(($e=readdir($d))!=false) { if($e =="." || $e ==".." ) continue; @$black_list[$i]=$e; @$i++; } closedir($d); if(count(@$black_list)) if(in_array($_SERVER['REMOTE_ADDR'],@$black_list)) exit("<center><font color=red>".@$stop_mes."</font></center>"); //Отлавливаем хулигана!!(---------------------------------------------------------------: //Запрещённые слова if($_POST['mes']!="") { $strpath="admin/conf/stop.txt"; $size=filesize($strpath); if($size) { @$f=fopen($strpath,r); $stop=fread($f, filesize($strpath)); fclose($f); } //Создаём массив слов if(@$stop!="")$stop_list=explode(",", @$stop); if(count(@$stop_list)!=0) { //Ищем в сообщении $halt=false; foreach($stop_list as $line) { //Не первая ли позиция if (substr($_POST['mes'],0,strlen($line))==trim($line)) $halt=true; if(strpos($_POST['mes'], $line)>0 || $halt==true) { $strpath="bl/".$_SERVER['REMOTE_ADDR']; $f=fopen($strpath,'w'); fwrite($f,$_POST['mes']); fclose($f); $err="<li>В сообщении присутствует запрещённое слово! Ваш ip блокирован до рассмотрения администратором."; break; } } } } //ПРОВЕРКА--------------------------------------------------------- @$_POST['cod_img']=trim(@$_POST['cod_img']); //Код if(@$setForm[2]==1) { if( $_POST['cod_img']!="") { $num=false; switch(@$_POST['hid']): case "img/1.jpg": if($_POST['cod_img']!="5406") $num=true; break; case "img/2.jpg": if($_POST['cod_img']!="0954") $num=true; break; case "img/3.jpg": if($_POST['cod_img']!="9432") $num=true; break; case "img/4.jpg": if($_POST['cod_img']!="5912") $num=true; break; case "img/5.jpg": if($_POST['cod_img']!="3498") $num=true; break; case "img/6.jpg": if($_POST['cod_img']!="7543") $num=true; break; case "img/7.jpg": if($_POST['cod_img']!="4591") $num=true; break; case "img/8.jpg": if($_POST['cod_img']!="9854") $num=true; break; case "img/9.jpg": if($_POST['cod_img']!="7631") $num=true; break; case "img/10.jpg": if($_POST['cod_img']!="9654") $num=true; break; case "img/11.jpg": if($_POST['cod_img']!="3861") $num=true; break; case "img/12.jpg": if($_POST['cod_img']!="7312") $num=true; break; endswitch; if($num) $err="<li>Вы неправильно ввели код. Попробуйте ещё раз!"; $_POST['cod_img']=""; } else $err="<li>Вы неправильно ввели код. Попробуйте ещё раз!"; } //Удаляем (если есть) контрольный символ для комментариев $_POST['mes']=str_replace('{'," ",$_POST['mes']); //Удаляем пробелы везде if(!empty($_POST['name'])) $_POST['name']=trim($_POST['name']); if(!empty($_POST['city'])) $_POST['city']=trim($_POST['city']); if(!empty($_POST['mail'])) $_POST['mail']=trim($_POST['mail']); if(!empty($_POST['site'])) $_POST['site']=trim($_POST['site']); if(!empty($_POST['isq'])) $_POST['icq']=trim($_POST['icq']); if(!empty($_POST['mes'])) $_POST['mes']=trim($_POST['mes']); if(!empty($_POST['cod_img'])) $_POST['cod_img']=trim($_POST['cod_img']); //Ввода обязательных данных.............................. //имени if(empty($_POST['name'])) $err.="<li>Вы забыли ввести имя!"; //сообщения if(empty($_POST['mes'])) $err.="<li>Вы забыли ввести сообщение!"; //Корректности ввода и удаление тегов, которые останутся после обработки //имени................................................. //Длина записей if(strlen($_POST['mes'])> 1000) $err.="<li>В сообщении должно быть не более 1000 символов!"; //Пробелы $n=0; for($i=0; $i<strlen($_POST['mes']); $i++): $s=substr($_POST['mes'], $i,1); if($s==" ") $n++; if ($i >100 && $n<5): $err.="<li>Это послание не имеет смысла!"; break; endif; endfor; if(!empty($_POST['name'])) { $lens=strlen($_POST['name']); if (preg_match ("|[\]/^\[@#$%^&*()_+=<>\\/.,?~\"':;\d]+|i", $_POST['name']) || $lens<3) $err.="<li>Неправильный формат имени!"; $_POST['name']=htmlspecialchars($_POST['name']); $_POST['name']=stripslashes($_POST['name']); } //e-mail if (!empty($_POST['mail'])) { if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['mail'])) $err.="<li>Неправильный формат e-mail!"; $_POST['mail']=htmlspecialchars($_POST['mail']); $_POST['mail']=stripslashes($_POST['mail']); } //Города if(!empty($_POST['city'])) { $lens=strlen($_POST['city']); if (preg_match("|[\]/^\[@#$%^&*()_+=<>\\/,?~\"':;\d]+|i", $_POST['city']) || $lens<3) $err.="<li>Неправильный формат города!"; $_POST['city']=htmlspecialchars($_POST['city']); $_POST['city']=stripslashes($_POST['city']); } //Сайта if (!empty($_POST['site'])) { if (!preg_match("#^(http://)[-a-z0-9_\.]+([-a-z0-9_]+\.(html|php|pl|cgi))?([-a-z0-9_:@&\?=+\.!/~*'%$]+)?$#i", $_POST['site'])) $err.="<li>Неправильный формат сайта! Вводите с http//:"; $_POST['site']=htmlspecialchars($_POST['site']); $_POST['site']=stripslashes($_POST['site']); } //Аськи @$icq=$_POST['icq']; if(!empty($_POST['icq'])) { if(!is_numeric($icq)) $err.="<li>Неправильный формат ICQ "; $_POST['icq']=htmlspecialchars($_POST['icq']); $_POST['icq']=stripslashes($_POST['icq']); } //Сообщения if(!empty($_POST['mes'])) { $lens=strlen($_POST['mes']); if ($lens<5) $err.="<li>Мало символов в сообщении!"; //Формируем сообщение для отправки почтой @$mes_for_mail=$_POST['mes']; $mes_for_mail=str_replace(" Код: ","",$mes_for_mail); $mes_for_mail=str_replace(" | ","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("[tt]","",$mes_for_mail); $mes_for_mail=str_replace("[/tt]","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace("","",$mes_for_mail); $mes_for_mail=str_replace(" Код: ","",$mes_for_mail); $mes_for_mail=str_replace(" | ","",$mes_for_mail); $mes_for_mail=str_replace("[font color=FF0000]","",$mes_for_mail); $mes_for_mail=str_replace("[font color=0000FF]","",$mes_for_mail); $mes_for_mail=str_replace("[font color=008080]","",$mes_for_mail); $mes_for_mail=str_replace("[/font]","",$mes_for_mail); $_POST['mes']=htmlspecialchars($_POST['mes']); $_POST['mes']=stripslashes($_POST['mes']); } //Тайм аут================================================== if(file_exists('admin/conf/time')) { $f=fopen("admin/conf/time","r"); $time_out=fread($f,100); fclose($f); if($time_out) { if(file_exists('admin/conf/ip.txt')) { $clr1=file('admin/conf/ip.txt'); //Не оставлял ли сообщений foreach($clr1 as $line) { $line=trim($line); $expl1=explode("*",$line); if(($_SERVER['REMOTE_ADDR']==$expl1[0]) && ((time()-$expl1[1]) < $time_out)) { $err="<li>Извените, но вы можете оставлять сообщения раз в ". ($time_out/60)." минут!"; } } } } } //============================================================== //Проверка закончена, выводим результат. if($err=="") { //Преобразуем \n в <br> $_POST['mes']=str_replace("\r\n", " ", $_POST['mes']); //Проверяем модерацию $moder=file("admin/conf/moder.txt"); if($moder[0]==1) { $dir_out="pre_db"; $mod="Спасибо за сообщение. После проверки оно будет опубликовано."; } else $dir_out="db"; //Сохраняем сообщение-------------------------------------- @$f=fopen("$dir_out/" . date('YmdHis'),"w+"); if (@$_POST['askmail']) fputs($f,"?"."\r\n"); fputs($f,"^".$_SERVER['REMOTE_ADDR']."\r\n"); fputs($f,"%".date('d.m.Y H:i')."\r\n"); fputs($f,"@".$_POST['name']."\r\n"); fputs($f,"#".@$_POST['city']."\r\n"); fputs($f,"$".@$_POST['mail']."\r\n"); fputs($f,"№".@$_POST['site']."\r\n"); fputs($f,"*".@$_POST['icq']."\r\n"); fputs($f,"~".$_POST['mes']); fclose($f); //Сохраняем адрес и время если функция включена if(file_exists('admin/conf/time')) { $f=fopen("admin/conf/time","r"); $time_out=fread($f,100); fclose($f); if($time_out) { if(file_exists('admin/conf/ip.txt')) { //Очищаем от старых записей //Смотрим, когда последний раз оставили сообщение. //Если больше установленного времени, значит файл очищаем //Если нет, дописываем в конец ip и время сообщения $clr=file('admin/conf/ip.txt'); $expl2=explode("*",$clr[0]); if((time()-trim($expl2[1]))>($time_out)) { $f=fopen('admin/conf/ip.txt',"w+"); fwrite($f,$_SERVER['REMOTE_ADDR']."*".time()."\r\n"); fclose($f); } else { $f=fopen('admin/conf/ip.txt',"a"); fwrite($f,$_SERVER['REMOTE_ADDR']."*".time()."\r\n"); fclose($f); } } else { $f=fopen('admin/conf/ip.txt',"w+"); fwrite($f,$_SERVER['REMOTE_ADDR']."*".time()."\r\n"); fclose($f); } } } if ($moder[0]!=1)echo "<meta http-equiv='refresh' content='0; url=index.php'>"; //Оповещение по почте (если настроено). if(@$cont[7]==1) { $adr="http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; $adr=str_replace("add.php","index.php",$adr); $mes_for_mail=strip_tags($mes_for_mail); $message= "Получено новое сообщение в гостевой книге: \r\n"."Имя: ".$_POST['name']."\r\n"."Сообщение: ".$mes_for_mail. "\r\n"."Зайти ".$adr; $subject= "Новое сообщение в гостевой книге ".$_SERVER['SERVER_NAME']; $message=convert_cyr_string($message,"w","k"); $subject=convert_cyr_string($subject,"w","k"); $from="Администратор"; $from= convert_cyr_string($from,"w","k"); if ($cont[8]!="нет") Mail(@$cont[8], $subject, $message, "From: $from<admin@".$_SERVER['SERVER_NAME'].">\r\n"); if ($cont[20]!="нет") Mail(@$cont[20], $subject, $message, "From: $from<admin@".$_SERVER['SERVER_NAME'].">\r\n"); if ($cont[21]!="нет") Mail(@$cont[21], $subject, $message, "From: $from<admin@".$_SERVER['SERVER_NAME'].">\r\n"); } } else { $err1= "<b><font color=red>Найдены следующие ошибки</font></b><ul>$err</ul>"; $mod=""; } } echo "<html> <head> <title>Добавить сообщение</title> <script language='JavaScript1.1' type='text/javascript'> <!-- function tag(text1, text2) { if ((document.selection)) { document.form.mes.focus(); document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2; } else document.form.mes.value += text1+text2; } function tag1(text1) { if ((document.selection)) { document.form.mes.focus(); document.form.document.selection.createRange().text = document.form.document.selection.createRange().text+text1; } else document.form.mes.value += text1; } //--> </script> <style> #formbook { font-size:11pt; color:".$setForm[10]."; } #formbook A { text-decoration:none; Color: ".$setForm[10]."; } </style> </head> <body bgcolor=".$setForm[9]." background=".$setForm[12]."> <table width=100% border=0>"; if (@$code_top!="" && $al_code[7]==1) { echo "<tr><td colspan=5 align=".$al_top.">"; if($al_code[11]==0) { echo @$code_top; } else { include("admin/conf/code/topcode.txt"); } echo "</td></tr>"; } echo "<tr>"; if (@$code_left!="" && $al_code[9]==1) { echo "<td valign=".$al_left." width=".$al_code[4]."% align=left>"; if($al_code[13]==0) { echo @$code_left; } else { include("admin/conf/code/leftcode.txt"); } echo "</td><td width=10px></td>"; } echo "<td> <form name='form' action=add.php method=post> <table id='formbook' border=0 width=300px align=".$al."> <tr><td colspan=2> <h2><tt><font color=".$setForm[11].">Добавить сообщение</font></tt></h2></td></tr> <tr><td colspan=2>$err1 $mod</td></tr> <tr><td align=left > <sup><font color=red>*</font></sup><b>Имя</b> </td> <td align=left > <input type=text name='name' size=38 MAXLENGTH='30' value='". @$_POST['name']."'> </td> </tr>"; if(@$setForm[6]==1) echo "<tr><td align=left > <b>Город</b></td> <td align=left> <input type=text name='city' size=38 MAXLENGTH='30' value='". @$_POST['city']."' > </td></tr>"; //100 if(@$setForm[3]==1) echo "<tr><td align=left> <b>E-mail</b></td> <td align=left> <input type=text name='mail' size=38 MAXLENGTH='30' value='". @$_POST['mail']."' > </td></tr>"; if(@$setForm[4]==1) echo "<tr><td align=left > <b>Сайт</b></td> <td align=left> <input type=text name='site' size=38 MAXLENGTH='35' value='". @$_POST['site']."'> </td></tr>"; if(@$setForm[5]==1) echo "<tr><td align=left > <b>ICQ</b></td> <td align=left> <input type=text name='icq' size=38 MAXLENGTH='20' value='". @$_POST['icq']."'> </td></tr>"; echo "<tr><td align=left > <sup><font color=red>*</font></sup><b>Сообщение</b> </td></tr> <tr><td align=left colspan='2'> <textarea name='mes' cols=40 rows=7 >". @$_POST['mes']."</textarea></td></tr> <tr><td height=10></td></tr>"; if(@$setForm[0]==1) echo "<tr><td align=left colspan='2' > <a href=# onClick=\"javascript:tag1(':0'); return false;\" ><IMG SRC='img/sm/1.gif' ALT='' border=0> </a> <a href=# onClick=\"javascript:tag1(';)'); return false;\" ><IMG SRC='img/sm/2.gif' ALT='' border=0></a> <a href=# onClick=\"javascript:tag1(''); return false;\" ><IMG SRC='img/sm/3.gif' ALT='' border=0></a> <a href=# onClick=\"javascript:tag1(':ъ'); return false;\" ><IMG SRC='img/sm/4.gif' ALT='' border=0></a> <a href=# onClick=\"javascript:tag1(':ь'); return false;\" ><IMG SRC='img/sm/5.gif' ALT='' border=0> </a> <a href=# onClick=\"javascript:tag1(':-'); return false;\" ><IMG SRC='img/sm/6.gif' ALT='' border=0></a> <a href=# onClick=\"javascript:tag1(':}'); return false;\" ><IMG SRC='img/sm/7.gif' ALT='' border=0></a> <a href=# onClick=\"javascript:tag1(''); return false;\" ><IMG SRC='img/sm/8.gif' ALT='' border=0> </a> <a href=# onClick=\"javascript:tag1(';('); return false;\" ><IMG SRC='img/sm/9.gif' ALT='' border=0></a> <a href=# onClick=\"javascript:tag1(';ъ'); return false;\" ><IMG SRC='img/sm/10.gif' ALT='' border=0></a> <a href=# onClick=\"javascript:tag1(';ь'); return false;\" ><IMG SRC='img/sm/22.gif' ALT='' border=0> </a> </td></tr><tr><td align=left colspan='2'>"; if(@$setForm[1]==1) echo "<b> <a href=# onClick=\"javascript:tag('', ''); return false;\"><font color=#808080>B</font></a> <a href=# onClick=\"javascript:tag('', ''); return false;\"><font color=#808080>I</font> </a> <a href=# onClick=\"javascript:tag('', ''); return false;\"><font color=#808080>U</font> </a> <a href=# onClick=\"javascript:tag('', ''); return false;\"><font color=#808080>S</font></a> <a href=# onClick=\"javascript:tag('', ''); return false;\"><font color=#808080>SUP</font></a> <a href=# onClick=\"javascript:tag('', ''); return false;\"><font color=#808080>SUB</font></a> <a href=# onClick=\"javascript:tag(' Код:'); return false;\"><font color=#808080>CODE</font></a> </b>"; if(@$setForm[8]==1) echo " <a href=# onClick=\"javascript:tag('[font color=#FF0000]', '[/font]'); return false;\" > <img src='admin/img/red.gif' width='12' height='12' alt='Красный' border='0' align=center> </a> <a href=# onClick=\"javascript:tag('[font color=#0000FF]', '[/font]'); return false;\" > <img src='admin/img/blue.gif' width='12' height='12' alt='Синий' border='0' align=center> </a> <a href=# onClick=\"javascript:tag('[font color=#008080]', '[/font]'); return false;\" > <img src='admin/img/green.gif' width='12' height='12' alt='Зелёный' border='0' align=center> </a>"; echo "</td></tr>"; if(@$setForm[2]==1) echo "<tr><td align=left colspan='2' valign=top> <tt><font color=#004080> Введите код на картинке</font></tt> <input type=hidden name='hid' value=$img> <input type=text name='cod_img' size=5> <IMG SRC=$img ALT='Код' height='22' width='48' ><p><p></td> </tr>"; if(@$setForm[13]==1) echo "<tr><td align=left colspan='2' valign=top> <input name='askmail' type='checkbox' value='ON'> Уведомление по e-mail об ответе на сообщение<p></p> </td></tr>"; echo "<tr><td align=left colspan='2'> <input type=submit name='Go' value='Добавить'>"; echo "<input type=submit name='view' value='Просмотреть' > </form> </td></tr> <tr><td align=left colspan='2'> <font color=red>*</font>отмечены поля, обязательные для ввода! </td></tr>"; echo "</td></tr></table> </td>"; if(@$code_rig!="" && $al_code[10]==1) { echo "</td><td width=10px></td><td valign=".$al_rig." width=".$al_code[5]."% align=right>"; if($al_code[14]==0) { echo @$code_rig; } else { include("admin/conf/code/rigcode.txt"); } } echo "</tr>"; if (@$code_bot!="" && $al_code[8]==1) { echo "<tr><td colspan=5 align=".$al_bot.">"; if($al_code[12]==0) { echo @$code_bot; } else { include("admin/conf/code/botcode.txt"); } echo "</td></tr>"; } echo "</table></body> </html>"; ?> |