|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 05.12.2024 - 07:42:25 Безопасный режим.Объявление - WR-Scriptы в UTF-8 кодировке |
---|
Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.
На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий! Планирую продолжить работы весь 2023 год.
|
Автор | Сообщение |
---|
proggi •
P Участник форума
|
К слову сказать, что настройки прав на файлы которая располагается https://www.wr-script.ru/forum/README.html Написана для большинства форумов которые включают safe_mode так как не могут своими средствами нормально защитить клиента от взлома его сайтов, правда как правило... их всеравно ломают и встраивают в сайты всякие порно ссылкы/перенаправление, и т.п. ОДНАКО! В НОРМАЛЬНЫХ хостинг компаниях, на файлы надо ставить 444 (а можно и ниже) а на папки к примеру 755 При этом форум будет КОРРЕКТНО работать.
НАПОМНИМ, что скрипт будет выполнен если он будет прочитан php интерптиратором, право "444" с лихвой хватает на то чтобы скрипт выполнялся (пожно и по умолчанию 644 ставить, у меня везде так).
PS: Конечно на большинстве хостингах придется мучатся и ставить так как указано по ссылке выше. Как мне вас жалко, а если файлов не один десяток... Бедные клиенты левых хостингов.... | |
|
Сообщение # 1 |
17.05.09 - 14:36:56
| | proggi •
P Участник форума
|
http://www.phpclub.net/manrus/feat/safe-mode.html
Цитата: Безопасный режим PHP это попытка разрешения проблемы безопасности совместно используемого сервера. Архитектурно некорректно пытаться решить эту проблему на уровне PHP (Это и делают левые хостинги), но, поскольку альтернативы уровня web-сервера и ОС не слишком реалистичны (потомучто руки не оттуда растут и не могут настроить свой сервер), многие, особенно ISP, используют safe mode. |
| |
|
Сообщение # 2 |
17.05.09 - 14:43:59
| | ВИКТОР_ЗАКАЛ •
В гость
|
ВОТ И АНТИМАТ Код: //*********************НАЧАЛО АНТИ-МАТА******************************* if ($_GET['event']=="antimat") { echo"<h3 align=center><b>Настройка \"АНТИ-МАТА\"</b></h3>"; $add_sl=""; if(isset($_POST['add_slovo_antimat']) and $_POST['fname44'] !='' and $_POST['fname55'] !='' ){ $_POST['fname44']=trim( $_POST['fname44']); $_POST['fname55']=trim( $_POST['fname55']); $lines2=file("mat/mat-slova.dat"); $ui2=count($lines2); $i2=$ui2; do {$i2--; $rdt2=explode("::",$lines2[$i2]);
if($rdt2[0]==$_POST['fname44']){$add_sl4="1";} } while($i2 > 1); // if(t==0) ? yes : no; if(isset($add_sl4)) { $add_sl=" <p>Слово <b><u>".$_POST['fname44']."</u></b> уже есть в базе</u></b></p>"; } else{$add_sl=" <p>Слово <b><u>".$_POST['fname44']."</u></b> добавлено в базу и во всех постах будет заменяться на <b><u>".$_POST['fname55']."</u></b></p>"; $mat_text=$_POST['fname44']."::".$_POST['fname55']."::"; $fp=fopen ("mat/mat-slova.dat","a+") or die("Извините, но невозможно создать файл <b>.mat/mat-slova.dat</b>.<br />Проверьте правильность проставленного CHMOD!"); flock ($fp,LOCK_EX); fputs($fp,"$mat_text\r\n"); fflush ($fp);//очищение файлового буфера flock ($fp,LOCK_UN); fclose($fp); } } print "<form action='admin.php?event=antimat' method='post' name='REPLIER'> <table width='95%' cellpadding=2 cellspacing=1 class=forumline align=center><tr> <th class=thCornerL height=25 nowrap=nowrap>Параметр</th> <th class=thTop nowrap=nowrap>Значение</th></tr> <tr><td class=row1 width='40%'>Добавить слова мата для замены</td><td class=row1 width='60%'> Слово <input type=text value='' name=fname44 class=post maxlength=50 size=40> Меняем на <input type=text value='[мат]' name=fname55 class=post maxlength=50 size=40>$add_sl</td></tr>
<tr><td class=row1 colspan=2><BR><center><input name='add_slovo_antimat' id='add_slovo_antimat' type=submit class=mainoption value=\"Добавить в базу\"></form></td></tr> </table> <center> * Если хотите изменить пароль - сотрите слово <B>\"скрыт\"</B> и введите новый пароль. Рекомендую использовать только буквы и/или цифры. "; | | |
|
Сообщение # 3 |
21.09.09 - 16:39:08
| | WR •
W Участник форума
|
поподробнее, пожалуйста
Это код для добавления базы АНТИМАТА? Как подключить? | |
|
Сообщение # 4 |
22.09.09 - 15:11:22
| | ВИКТОР_ЗАКАЛ •
В гость
|
САМА ФУНКЦИЯ Код: //============================================= $banim_usera=''; $autochange = "$mat/mat-slova.dat"; // файл база матов // функция замены function _MAT_ZAMENA ($path){//---000 global $autochange; $general = file ($autochange); if ( !empty ($general)){//---1 for ($ii=0; $ii < count ($general); $ii++){//---2 list ($aut3,$aut2) = explode ("::", $general[$ii]);
$aut3_arr = preg_split ("//",$aut3); $content = '~'; for ($iii=0; $iii < sizeof ($aut3_arr); $iii++){ $content .= $aut3_arr[$iii]."[ \r\n\t]*"; } $content .= '~is';
if ( preg_match ($content,$path)){$path = preg_replace ($content,' '.$aut2.' ',$path); $banim_usera="Запрещено использовать МАТ"; }// БАНИМ АВТОМАТОМ ЗА МАТ if(!isset($banim_usera)){//---3 // ЕСЛИ ПОЛЬЗОВАТЕЛЬ ИЗМЕНИЛ СВОЕ СООБЩЕНИЕ if(isset($_POST['isprav_topik'])){$banim_usera="Сообщение было исправлено ".date("d-m-Y");} else{$banim_usera="";}}//-----3 }//---2 }//---1 return $path."".$banim_usera."";
}//---000 | | |
|
Сообщение # 5 |
22.09.09 - 18:17:54
| | ВИКТОР_ЗАКАЛ •
В гость
|
ДОБАВЛЯЕМ В INDEX
Код: // ДОБАВЛЕНИЕ ТЕМЫ или ОТВЕТА - ШАГ 1 if(isset($_GET['event'])) { if (($_GET['event']=="addtopic") or ($_GET['event']=="addanswer")) { if (isset($_POST['name'])) {$name=$_POST['name'];} $name=trim($name); // Вырезает ПРОБЕЛьные символы $zag=$_POST['zag'];// ОБРАБОТАТЬ И ПРОВЕРИТЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!! $msg=$_POST['msg']; $msg=_MAT_ZAMENA($msg); |
И СЮДА Код: //БЛОК ИСПРАВЛЕНИЯ СООБЩЕНИЙ ДЛЯ ЮЗЕРОВ
А все вроде, у меня тут еще блок авто бана стоит и редактирование сообщений для юзеров.
| | |
|
Сообщение # 6 |
22.09.09 - 18:22:05
| | ВИКТОР_ЗАКАЛ •
В гость
|
но это не исправленная версия форума. БЛОК НАПИСАН НА СКОРЯК, НО РАБОТАЕТ.
И НУЖНО ПОДКОРЕКТИРОВАТЬ,ПОДШАМАНИТЬ. | |
|
Сообщение # 7 |
22.09.09 - 18:24:40
| | ВИКТОР_ЗАКАЛ •
В гость
|
Код: //***********************РЕКЛЛАМА В ПОСТАХ*********************************************** if ($_GET['event']=="reklama_post") { // ссылку::text :: Кому показывать:: Разрешить индексировать:: if (isset($_POST['add_reklama_text'])){ if($_POST['link_reklama_text']=='' || $_POST['text_reklama_text']==''){exit("ошибка!$back Вы должны заполнить все поля!");} else { print "<h1>Разрешить индексировать</h1>"; $_POST['link_reklama_text']=trim($_POST['link_reklama_text']); $_POST['text_reklama_tex t']=trim($_POST['text_reklama_text']);
$reklama_6=$_POST['link_reklama_text']."::".$_POST['text_reklama_tex t']."::".$_POST['who_reklama_text']."::".$_POST['rek_index']."::\r\n"; $fp=fopen("mat/reklama_text.dat","a+") ; flock ($fp,LOCK_EX); fputs($fp,"$reklama_6"); fflush ($fp);//очищение файлового буфера flock ($fp,LOCK_UN); fclose($fp); }} //============= echo "<table width='70%' align='center' border='2'><tr> <form action=admin.php?event=reklama_post method=post> <tr><th>Текстовые рекламные блоки</th></tr> <tr><td align='center' class=row2>Введите ссылку : <input type='text' class=post maxlength=50 size=100 value='http://' name='link_reklama_text' id='link_reklama_text'></td></tr> <tr><td align='center' class=row1>Введите описание : <textarea cols=100 rows=6 size=500 class=post name='text_reklama_text' id='text_reklama_text'></textarea></td></tr> <tr><td class=row2> Кому показывать : <input type=radio name='who_reklama_text' id='who_reklama_text' value=\"0\" checked /> зарегистрированным <input type=radio name='who_reklama_text' id='who_reklama_text' value=\"1\" /> всем </td></tr> <tr><td class=row1> Разрешить индексировать : <input type=radio name=rek_index id=rek_index value=\"0\"/> Нет <input type=radio name=rek_index id=rek_index value=\"1\" checked /> Да</td></tr> <tr><td valign='top' class=row2 align='center'> <input name='add_reklama_text' id='add_reklama_text' type=submit class=mainoption value=\"Добавить ссылку в базу\"></form>
</td></tr> <tr><td><hr></td></tr> <tr><th>Банерные рекламные блоки</th></tr> <form action=admin.php?event=reklama_post method=post> <tr><td align='center' class=row2>Введите ссылку : <input type='text' class=post maxlength=50 size=100 value='http://'></td></tr> <tr><td align='center' class=row1>Введите описание : <textarea cols=100 rows=6 size=500 class=post name=off_text_forum></textarea></td></tr>
<tr><td align='center'>Введите описание : <input type='text' class=post maxlength=50 size=30 style='height:36px;font-size:26px;'> </td></tr> <tr><td class=row2> Кому показывать : <input type=radio name=sendmail value=\"0\"s2/> зарегистрированным <input type=radio name=sendmail value=\"1\"s1/> всем </td></tr> <tr><td class=row1> Разрешить индексировать : <input type=radio name=sendmail value=\"0\"s2/> Нет <input type=radio name=sendmail value=\"1\"s1/> Да</td></tr> <tr><td class=row1 align='center'> Разрешено загружать банеры размером 468х60
<img src='900.gif' width='468' height='60' border='0' /> </td></tr> <tr><td class=row1 align='center'><input type=file class=mainoption name=sendmail value=\"0\"s2/ size=80></td></tr> <tr><td valign='top' class=row2 align='center'> <input name='add_slovo_antimat' id='add_slovo_antimat' type=submit class=mainoption value=\"Добавить банер в базу\"></form>
</td></tr> </table>";
} | | |
|
Сообщение # 8 |
22.09.09 - 18:27:52
| | ВИКТОР_ЗАКАЛ •
В гость
|
ВОТ ЕЩЕ АВТОМАТИЧЕСКИЙ БЕКАП С ОТСЫЛКОЙ НА МЫЛО В АРХИВЕ ZIP
Код: //***********************АРХИВАТОР ZIP ********************** if ($_GET['event']=="baza_copy") {
echo'<h3>АРХИВАТОР В ZIP АРХИВ !!!</h3>
'; //хранение файлов 1 час --3600 30мин --1800 3мин --180 $fr=array_merge(glob("bekup/*.zip"),glob("bekup/*.dat")); foreach ($fr as $file) {if((time()- filectime($file)) > 300) unlink ($file);} //*************************************** $GENERATOR_TMP=rand(0000000001,9999999999); // ------------------------------------------------------------ // АРХИВАТОР //------------------------------------------------------------- require_once('admin/zip.php'); $new_optimizer_file_zip = 'bekup/data_'.$GENERATOR_TMP.'.zip'; // $rand = 'jimm'.rand(0000000001,9999999999).'.jar'; //$rand_jad = str_replace('jar','jad',$rand); $archive = new PclZip($new_optimizer_file_zip); $baza_papka= 'data/'; $v_list = $archive->create('data/', PCLZIP_OPT_REMOVE_PATH, 'data/'); //sleep(2); if (is_file("$datadir/mainforum.dat")) {copy("$datadir/mainforum.dat", "$datadir/copy.dat");} //---------------------------------------------------------- print"<center><form action='$new_optimizer_file_zip'> <input type='submit' class=mainoption value='скачать архив data_$GENERATOR_TMP.zip'></form>";
print"<form action='$new_optimizer_file_zip'> <input type='submit' class=mainoption value='послать архив data_$GENERATOR_TMP.zip мне на $adminemail'> </form></center>"; //------------------------------------------------------------------ // отсылка архива на емайл админа $from = "mail@host.ru"; $to = "mail@host.ru"; $subj = "test subject"; $text = "Some content..."; $filename = $new_optimizer_file_zip; // присоединяемый файл
$handle = fopen($filename,"rb"); $uniq = strtoupper(uniqid(time()));
$header = "From: $from\n"; $header .= "Subject: $subj\n"; $header .= "Mime-Version: 1.0\n"; $header .= "Content-Type:multipart/mixed; "; $header .= "boundary=\"----------" . $uniq . "\"\n\n";
$letter = "------------" . $uniq . "\nContent-Type:text/plain;\n"; $letter .= "Content-Transfer-Encoding: 8bit\n\n" . $text . "\n\n"; $letter .= "------------" . $uniq . "\n"; $letter .= "Content-Type: application/octet-stream;"; $letter .= "name=\"" . basename($filename) . "\"\n"; $letter .= "Content-Transfer-Encoding:base64\n"; $letter .= "Content-Disposition:attachment;"; $letter .= "filename=\"" . basename($filename) . "\"\n\n"; $letter .= chunk_split(base64_encode(fread($handle,filesize($filename)))) . "\n";
mail($to, $subj, $letter, $header);
} | | |
|
Сообщение # 9 |
22.09.09 - 18:30:28
| | ВИКТОР_ЗАКАЛ •
В гость
|
Код: // БЛОК ИСПРАВЛЕНИЯ СООБЩЕНИЙ ДЛЯ ЮЗЕРОВ //************************************************************* if (isset($_COOKIE['wrfcookies'])) { // весь блок работает при наличии КУКИ if (is_file("$datadir/$id.dat")){ $file_user_topik=file("$datadir/$id.dat"); $ispravlenie_userom=""; $f_u_t=ex plode("|",$file_user_topik[$fm-1]); if($wrfname==$f_u_t[0] and $dt[1]=="да"){ $klmnut="<form action='index.php?fid=$fid&id=$id&page=$page#$fm' method=\"POST\"> <input type='hidden' name='redakt_topik' id='redakt_topik' value='$fm'> <input type='submit' name='redakt' id='redakt' value='[ Редактировать сообщение ]' class=mainoption> <input type='button' name='delete_$fm' id='delete_$fm' value='[ Удалить ]' onClick=\"alert('Для ВАС это не доступна.Потому что у ВАС мало привилегий !');\" class=mainoption></form>"; } else{ //***** $reklama_file=file("mat/reklama_text.dat"); $itogo=count($reklama_file)-1; srand((double) microtime()*1000000); $i=rand(0,$itogo); // выбираем случайное число (0...MAX) $r_k_f=explode("::", $reklama_file[$i]);
$klmnut=" <div><table width='700'><tr><td> <a href='".$r_k_f[0]."'>".$r_k_f[1]."</a></td></tr></table></div>";
//********* }
} // если имя=имя и не гость if($wrfname==$f_u_t[0] and $dt[1]=="да"){ //--------------------------------------------------------------------------------------- // если переданы данные из кнопки сущест и номер равен =$fm if(isset($_POST['redakt']) and $_POST['redakt_topik']==(int)$fm){ // ВЫВОДИМ В ФОРМУ НОРМАЛЬНО $forma_isprav_user=$dt[4];//$text=str_replace("\r\n"," ",$text); $forma_isprav_user=str_replace(" ","\r\n",$forma_isprav_user);
$forma_isprav_user=strip_tags( $forma_isprav_user);
$ispravlenie_userom="<SCRIPT language=JavaScript> function DoSmilie2(addSmilie2) { var revisedMessage2; var currentMessage2=document.REPLIER2.msg_isprav.value; revisedMessage2=currentMessage2+addSmilie2; document.REPLIER2.msg_isprav.value=revisedMessage2; document.REPLIER2.msg_isprav.focus(); return; } </SCRIPT> <a name=\"$fm\"></a> <form action='index.php?fid=$fid&id=$id&page=$page' method=\"POST\" name=REPLIER2>
<input type=button class=button value=' B ' style='font-weight:bold; width: 30px' onclick=\"DoSmilie2(' ');\"> <input type=button class=button value=' S ' style='font-weight:bold; width: 30px' onclick=\"DoSmilie2(' [S] [/S] ');\"> <input type=button class=button value=' I ' style='font-weight:bold; width: 30px' onclick=\"DoSmilie2(' [kursiv] [/kursiv] ');\"> <input type=button class=button value=' U ' style='font-weight:bold; onclick=\"DoSmilie2('[U] [/U]');\">
<textarea name=msg_isprav cols=100 rows=15 class=post>$forma_isprav_user</textarea>
<INPUT TYPE=\"hidden\" name='isprav_topik_nomer' id='isprav_topik_nomer' value=\"$fm\"> <INPUT TYPE=\"hidden\" value=\"$id\"> <INPUT TYPE=\"hidden\" value=\"$f_u_t[0]\"> <center><INPUT TYPE=\"submit\" class=mainoption name='isprav_topik' id='isprav_topik' value=\" Исправить \"></center></form>"; }else {$ispravlenie_userom=$dt[4];}//если не получены данные из кнопки // если получено из кнопки исправить if(isset($_POST['isprav_topik'])){ $isprav_topik_fid=file("$datadir/topic$fid.dat"); $isprav_topi k_message=file("$datadir/$id.dat"); $stroka_i_t_m=$isprav_topik_message[$fm-1];// получаем нужную строчку $i_t_m=explode("|",$stroka_i_t_m); // разбиваем строку на масив // $i_t_m[0]|$i_t_m[1]|$i_t_m[2]|$i_t_m[3]|$i_t_m[4]|$i_t_m[5]|$i_t_m[6]|$i_t_m[7]|$i_t_m[8]|$i_t_m[9]|$i_t_m[10] |$i_t_m[11]|$i_t_m[12]|$i_t_m[13]|
//$dt[6]=str_replace(" "," ",$dt[6]); $_POST['msg_isprav']=strip_tags($_POST['msg_isprav']);// вырезаем все теги из текста $_POST['msg_isprav']=replacer($_POST['msg_isprav']); $_POST['msg_isprav']=str_replace(" "," ",$_POST['msg_isprav']); $_POST['msg_isprav']=str_replace(" "," ",$_POST['msg_isprav']); $_POST['msg_isprav']=auto($_POST['msg_isprav']); $zalupok="$i_t_m[0]|$i_t_m[1]|$i_t _m[2]|$i_t_m[3]|".$_POST['msg_isprav']."|$i_t_m[5]|$i_t_m[6]|$i_t_m[7]|$i_t_m[8]|$i_t_m[9]|$i_t_m[10]|$i_t_m[1 1]|$i_t_m[12]|$i_t_m[13]|\n"; //-------------------------------- //Замена строки в файле: //--------------------------------- $fl = "$datadir/$id.dat"; // файл из которого удаляем строку $line = $_POST['isprav_topik_nomer'];// строка $rep = $zalupok; //на что заменить $file = file($fl); //загоняем файл в массив $file $count = count($file); //подсчитываем количество строк $fp = fopen($fl,"w");//очищаем файл flock ($fp,LOCK_EX); for($i=0;$i<$count;$i++) //создаём цикл, кол-во оборотов равно количиству строк в файле {if($i!=$line-1){ fwrite($fp,$file[$i]); }else{ fwrite($fp,$rep);// "\n" echo "<h2><B>Сообщение было удачно измененно !</B></h2>"; }} fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //закончили работать с файлом
echo "<script language='Javascript'>function reload() {location = \"index.php?fid=$fid&id=$id&page=$page\"}; setTimeout('reload()', 15);</script> <B><a href='index.php?fid=$fid&id=$id&page=$page'>Нажмите здесь, если не хотите больше ждать</a></B>"; exit; } //-------------------------------------------------------------------------------------------- } else {$ispravlenie_userom=$dt[4];}
}else {$klmnut="без логина";$ispravlenie_userom=$dt[4];}
//========================================================== //****** *************************************** | | |
|
Сообщение # 10 |
22.09.09 - 18:43:28
| | ВИКТОР_ЗАКАЛ •
В гость
|
ПРОВЕРКА Код: function _PROVERKA($var) { if (isset($GLOBALS['HTTP_GET_VARS'][$var]) || isset($GLOBALS['HTTP_POST_VARS'][$var]) || isset($GLOBALS['HTTP_FILES_VARS'][$var]) || isset($GLOBALS['HTTP_COOKIE_VARS'][$var]) || isset($GLOBALS['HTTP_SERVER_VARS'][$var])) exit("подозрительная переменная "); } | | |
|
Сообщение # 11 |
24.09.09 - 19:06:15
| | ВИКТОР_ЗАКАЛ •
В гость
|
Заказывайте модули по форум. Сделаю на заказ | |
|
Сообщение # 12 |
25.09.09 - 13:45:51
| |
|