Cap 0 Опубликовано: 8 ноября 2005 Рассказать Опубликовано: 8 ноября 2005 Cap, спасибо за тестинг, действительно был такой баг, уже исправленно. <{POST_SNAPBACK}> А может т ы все таки доработаешь код Незнакомца! Только чтобы работоло а вот оформление кода не трогать =) please... Цитата Ссылка на сообщение Поделиться на других сайтах
Webber 0 Опубликовано: 8 ноября 2005 Рассказать Опубликовано: 8 ноября 2005 Cap, код работает. Он же файлы кидал, попробуй установить. Что не работает, что пишет, браузер, ОС, апач, гд библиотека есть ? Цитата Ссылка на сообщение Поделиться на других сайтах
Cap 0 Опубликовано: 8 ноября 2005 Рассказать Опубликовано: 8 ноября 2005 Короче траблы причём большие =( При самом начали регистрации все ОТЛИЧНО следующий шаг же выдает вот такую ошибку Warning: Missing argument 5 for check_reg() in z:\home\dle\2.5\engine\modules\register.php on line 25 Warning: Missing argument 6 for check_reg() in z:\home\dle\2.5\engine\modules\register.php on line 25 ладно после чего сохраняем данные и жмём еще далее опять ошибка но теперь только ошибка и белый экран смерти Fatal error: Call to undefined function: replace_comment() in z:\home\dle\2.5\engine\modules\register.php on line 189 PLEASE help =( Задумка очень классная и классно выглядит =) <{POST_SNAPBACK}> Эта функция была убрана из версии 2.5 <{POST_SNAPBACK}> Читай! Цитата Ссылка на сообщение Поделиться на других сайтах
Cap 0 Опубликовано: 9 ноября 2005 Рассказать Опубликовано: 9 ноября 2005 Cap, код работает. Он же файлы кидал, попробуй установить. Что не работает, что пишет, браузер, ОС, апач, гд библиотека есть ? И так я код поправил как надо =) Но не до конца выдает вот такую ошибку Warning: Missing argument 5 for check_reg() in l:\home\dle\2.5m\engine\modules\register.php on line 29 Warning: Missing argument 6 for check_reg() in l:\home\dle\2.5m\engine\modules\register.php on line 29 А вот код register.php <?php /* ===================================================== DataLife Engine - by SoftNews Media Group ----------------------------------------------------- http://www.pc-soft.ru/ ----------------------------------------------------- Copyright (c) 2004,2005 SoftNews Media Group ===================================================== Данный код защищен авторскими правами ===================================================== Файл: register.php ----------------------------------------------------- Назначение: регистрация посетителя ===================================================== */ if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } include("$dl_path/inc/parse.class.php"); $parse = new ParseFilter(); if (isset ($_REQUEST['doaction'])) $doaction = $_REQUEST['doaction']; else $doaction = ""; function check_reg ($name, $email, $password1, $password2, $reg_forms, $reg_sessions) { global $lang, $db; $stop = ""; if ($password1!=$password2) { $stop .= $lang['reg_err_1']; } if ((strlen($password1)<6 || strlen($password1) >20)and(strlen($password2)<6 || strlen($password2) >20)) { $stop .= $lang['reg_err_2']; } if (strlen($name) > 20) { $stop .= $lang['reg_err_3']; } if (preg_match("/[\||\'|\"|\!]/",$name)) { $stop .= $lang['reg_err_4']; } if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$password1)) { $stop .= $lang['reg_err_5']; } if ((!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email))or(empty($email))) { $stop .= $lang['reg_err_6']; } if ($reg_forms!=$reg_sessions) { $stop .= $lang['reg_err_19']; } if (empty($name)) { $stop .= $lang['reg_err_7']; } if (!$stop) { $dupe_email = $db->query ("SELECT * FROM " . PREFIX . "_users where email = '$email' OR name ='$name'"); if ($db->num_rows($dupe_email)>0) { $stop .= $lang['reg_err_8']; } } return $stop; } $stopregistration = FALSE; $row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_users"); if ($config_allow_registration != "yes") { msgbox ($lang['all_info'], $lang['reg_err_9']); $stopregistration = TRUE; } elseif ($config_max_users > 0 AND $row['count'] > $config_max_users) { msgbox ($lang['all_info'], $lang['reg_err_10']); $stopregistration = TRUE; } if (isset($_POST['submit_reg'])) { session_start(); session_name('regcode'); $password1 = $parse->safeSQL($parse->process($_POST['password1'])); $password2 = $parse->safeSQL($parse->process($_POST['password2'])); $name = $parse->safeSQL($parse->process($_POST['name'])); $email = $parse->safeSQL($parse->process($_POST['email'])); $reg_forms = trim($_POST['reg_form']); $reg_sessions = trim($_SESSION['reg_session']); $reg_error = check_reg ($name, $email, $password1, $password2, $reg_forms, $reg_sessions); if (!$reg_error) { if ($config_registration_type) { $row = $db->super_query("SELECT template FROM " . PREFIX . "_email where name='reg_mail' LIMIT 0,1"); $row['template'] = stripslashes($row['template']); $idlink = urlencode(base64_encode ($name."||".$email."||".$password1)); $vallink = $config_http_home_url."index.php?do=register&doaction=validating&id=".$idlink; $row['template'] = str_replace("{%username%}",$name, $row['template']); $row['template'] = str_replace("{%validationlink%}",$vallink, $row['template']); $var['subj'] = $lang['reg_subj']; $var['header'] = "From: ".$config_admin_mail."\r\n"; $var['header'] .= "MIME-Version: 1.0\r\n"; $var['header'] .= "Content-Transfer-Encoding: 8bit\r\n"; $var['header'] .= "Content-Type: text/plain; charset=\"Windows-1251\"\r\n"; $var['header'] .= "X-Mailer: PHP v.".phpversion(); @mail($name." <".$email.">",$var['subj'],$row['template'],$var['header']); msgbox ($lang['reg_vhead'], $lang['reg_vtext']); $stopregistration = TRUE; } else { $idlink = urlencode(base64_encode ($name."||".$email."||".$password1)); $vallink = $config_http_home_url."index.php?do=register&doaction=validating&id=".$idlink; $doaction = "validating"; $_GET['id'] = $idlink; } } else msgbox ($lang['reg_err_11'], $reg_error); } if ($doaction != "validating" AND !$stopregistration) { $tpl->load_template('registration.tpl'); $tpl->set('{reg_code}',"<img src=\"${config_http_script_dir}modules\antibot.php\" border=\"0\">"); $tpl->set('[registration]',""); $tpl->set('[/registration]',""); $tpl->set_block("'\\[validation\\].*?\\[/validation\\]'si",""); $tpl->copy_template = "<form method=\"post\" name=\"registration\" id=\"registration\" action=\"\">\n".$tpl->copy_template." <input name=\"submit_reg\" type=\"hidden\" id=\"submit_reg\" value=\"submit_reg\"> </form>"; $tpl->compile('content'); $tpl->clear(); } if (isset($_POST['submit_val'])) { $fullname = $parse->safeSQL($parse->process($_POST['fullname'])); $land = $parse->safeSQL($parse->process($_POST['land'])); $icq = $parse->safeSQL($parse->process($_POST['icq'])); $info = $parse->safeSQL($parse->BB_Parse($parse->process($_POST['info']), false)); $image = $_FILES['image']['tmp_name']; $image_name = $_FILES['image']['name']; $image_size = $_FILES['image']['size']; $image_name = str_replace(" ", "_", $image_name); $img_name_arr = explode(".",$image_name); $type = end($img_name_arr); $user_arr = explode ("||", base64_decode(urldecode($_GET['id']))); $user = trim(mysql_escape_string($user_arr[0])); $row = $db->super_query("SELECT * FROM " . PREFIX . "_users where name = '$user'"); if (is_uploaded_file($image)) { if ($image_size < 100000) { $allowed_extensions = array("jpg", "png", "jpe", "jpeg"); if ((in_array($type, $allowed_extensions) or in_array(strtolower($type), $allowed_extensions)) and $image_name) { include_once $dl_path.'/inc/makethumb.php'; $res = @move_uploaded_file($image, $root_path."/uploads/fotos/".$row['user_id'].".".$type); if ($res) { $thumb=new thumbnail($root_path."/uploads/fotos/".$row['user_id'].".".$type); $thumb->size_auto($config_max_foto); $thumb->jpeg_quality($config_jpeg_quality); $thumb->save($root_path."/uploads/fotos/foto_".$row['user_id'].".".$type); @unlink ($root_path."/uploads/fotos/".$row['user_id'].".".$type); $foto_name = "foto_".$row['user_id'].".".$type; $db->query("UPDATE " . PREFIX . "_users set foto='$foto_name' where name='$user'"); } else $stop = $lang['reg_err_12']; } else $stop = $lang['reg_err_13']; } else $stop = $lang['news_err_16']; } if (strlen($info) > 500) { $stop .= $lang['reg_err_14']; } if (strlen($fullname) > 100) { $stop .= $lang['reg_err_15']; } if (strlen($land) > 100) { $stop .= $lang['reg_err_16']; } if (strlen($icq) > 20) { $stop .= $lang['reg_err_17']; } if ($stop){ msgbox ($lang['reg_err_18'], $stop);} else { $db->query("UPDATE " . PREFIX . "_users set fullname='$fullname', info='$info', land='$land', icq='$icq' where name='$user'"); msgbox ($lang['reg_ok'], $lang['reg_ok_1']); $stopregistration = TRUE; } } if ($doaction == "validating" AND !$stopregistration AND !$_POST['submit_val']) { $user_arr = explode ("||", base64_decode(urldecode($_GET['id']))); $password1 = $parse->safeSQL($parse->process($user_arr[2])); $name = trim($parse->safeSQL($parse->process($user_arr[0]))); $email = trim($parse->safeSQL($parse->process($user_arr[1]))); $reg_error = check_reg ($name, $email, $password1, $password1); if (!$reg_error) { $add_time = time()+($config_date_adjust*60); $regpassword = md5($password1); $db->query("INSERT INTO " . PREFIX . "_users (name, password, email, reg_date, lastdate) values ('$name', '$regpassword', '$email', '$add_time', '$add_time')"); } else {msgbox ($lang['reg_err_11'], $reg_error); $stopregistration = TRUE;} } if ($doaction == "validating" AND !$stopregistration) { $tpl->load_template('registration.tpl'); $tpl->set('[validation]',""); $tpl->set('[/validation]',""); $tpl->set_block("'\\[registration\\].*?\\[/registration\\]'si",""); $tpl->copy_template = "<form method=\"post\" name=\"registration\" enctype=\"multipart/form-data\" action=\"".$vallink."\">\n".$tpl->copy_template." <input name=\"submit_val\" type=\"hidden\" id=\"submit_val\" value=\"submit_val\"> </form>"; $tpl->compile('content'); $tpl->clear(); } ?> PLEASE кто-нибудь исправти =) Цитата Ссылка на сообщение Поделиться на других сайтах
Гость Den-YA Опубликовано: 19 января 2006 Рассказать Опубликовано: 19 января 2006 У кого есть для версии 3.2 или там по умолчанию? Цитата Ссылка на сообщение Поделиться на других сайтах
Гость steepz Опубликовано: 28 января 2006 Рассказать Опубликовано: 28 января 2006 Den-YA, Там уже всё есть, смотри админку. Цитата Ссылка на сообщение Поделиться на других сайтах
Гость shura1224 Опубликовано: 5 февраля 2006 Рассказать Опубликовано: 5 февраля 2006 (изменено) У меня не отображается код безопасности на странице регистрации. Пробовал IE зайти на antibot.php говорит <br /> <b>Fatal error</b>: Call to undefined function: imagepng() in <b>/home/www/free/мой сайт/engine/modules/antibot.php</b> on line <b>65</b><br /> не знаю, что в этом imagepng($im); может быть не так? Может подскажите, плз Изменено 5 февраля 2006 пользователем shura1224 Цитата Ссылка на сообщение Поделиться на других сайтах
mc -aiZer- 0 Опубликовано: 5 февраля 2006 Рассказать Опубликовано: 5 февраля 2006 shura1224, GD какой версии? Цитата Ссылка на сообщение Поделиться на других сайтах
Гость shura1224 Опубликовано: 5 февраля 2006 Рассказать Опубликовано: 5 февраля 2006 (изменено) На форуме хоста админа вроде спрашивают есть вооще или нет, (я в Румынском и со словарём хреновастенько ) он вроде говорит GD2... GD Library is enabled array(12) { ["GD Version"]=> string(13) "2.0 or higher" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(false) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(false) ["XBM Support"]=> bool(false) ["JIS-mapped Japanese Font Support"]=> bool(false) } Я вооще-то чайник, но мне кажется, что png не поддерживает. Изменено 5 февраля 2006 пользователем shura1224 Цитата Ссылка на сообщение Поделиться на других сайтах
mc -aiZer- 0 Опубликовано: 5 февраля 2006 Рассказать Опубликовано: 5 февраля 2006 В админке написано же... Цитата Ссылка на сообщение Поделиться на других сайтах
Гость shura1224 Опубликовано: 6 февраля 2006 Рассказать Опубликовано: 6 февраля 2006 В админке у меня написано Версия GD 0. На форуме у них румын тоже задавал такой вопрос - не отображается код безопасности, ему ответили, что на сервере стоит php5 с поддержкой GD2 и в кач-ве доказательства привели то что я выше постом указал. Короче, он потом пишет что был неправильно указан путь и теперь мол всё ОК, и приводит такой код: <br /> <b>Warning</b>: imagettfbbox() [<a href='function.imagettfbbox'>function.imagettfbbox</a>]: Could not find/open font in <b>/home/www/free/uv.ro/myc.uv.ro/forum/sources/functions.php</b> on line <b>553</b><br /> <br /> <b>Warning</b>: imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Could not find/open font in <b>/home/www/free/uv.ro/myc.uv.ro/forum/sources/functions.php</b> on line <b>559</b><br /> Ну не буду надоедать, спасибо, для меня в общем-то не столь критично, буду лучше матчасть учить. Спасибо! Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 Так вот как оно всё было Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 lifestar, возможно реализовать капчу как на nnm.ru? http://www.nnm.ru/pict.php "впишите ответ" Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 (изменено) вот, сделано на основе капчи отсюда => www.captcha.ru http://clubclose.ru/kcaptcha/ Изменено 28 декабря 2007 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 можно прикрутить к дле? Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 28 декабря 2007 Рассказать Опубликовано: 28 декабря 2007 (изменено) ·• Greeze •·, сейчас поправлю antibot.php значит так, если хочешь такую штуку следуй за белым кроликом инструкциям: 1. удаляем все файлы из папки engine/modules/fonts добавляем туда файл http://clubclose.ru/kcaptcha/fonts/antiqua.png 2. открываем файл engine/modules/antibot.php вместоvar $alphabet = "0123456789abcdefghijklmnopqrstuvwxyz"; пишем$alphabet = "0123456789+="; вместоvar $allowed_symbols = "023456789"; пишемvar $allowed_symbols = "0123456789+="; нижеvar $keystring = ''; добавляемvar $answer = ''; вместо // Генерация строки ---------- ---------- ------- function genstring() { // длина строки (количество символов) CAPTCHA // случайное число в пределах от $length_min до $length_max включительно $length = mt_rand( $this->length_min, $this->length_max ); $this->length = $length; while (true) { // бесконечный цикл, пока не сгенериуем хорошую строку =) $this->keystring = ''; for ($i = 0; $i < $length; $i++) { // в цикле добавляем к строке по 1 случайному символу $this->keystring .= $this->allowed_symbols{ mt_rand( 0, strlen( $this->allowed_symbols ) -1 ) }; } if (!preg_match( '/cp|cb|ck|c6|c9|rn|rm|co|do/', $this->keystring )) break; } } // ---------- ---------- ---------- ---------- ---------- пишем // Строим задачу $t1 = rand(10, 99); $t2 = rand(10, 99); $this->keystring = $t1.'+'.$t2.'='; $this->answer = $t1 + $t2; вместо $_SESSION['sec_code_session'] = $im->keystring; пишем$_SESSION['sec_code_session'] = $im->answer; кажется всё - пробуй Изменено 28 декабря 2007 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 29 декабря 2007 Рассказать Опубликовано: 29 декабря 2007 (изменено) Не большая поправочка в пункт 1. Удалить нужно все графические файлы, htaccess оставляем оооой, ещё ошибся... написано что удаляем // Генерация строки ---------- ---------- ------- function genstring() { // длина строки (количество символов) CAPTCHA // случайное число в пределах от $length_min до $length_max включительно $length = mt_rand( $this->length_min, $this->length_max ); $this->length = $length; while (true) { // бесконечный цикл, пока не сгенериуем хорошую строку =) $this->keystring = ''; for ($i = 0; $i < $length; $i++) { // в цикле добавляем к строке по 1 случайному символу $this->keystring .= $this->allowed_symbols{ mt_rand( 0, strlen( $this->allowed_symbols ) -1 ) }; } if (!preg_match( '/cp|cb|ck|c6|c9|rn|rm|co|do/', $this->keystring )) break; } } // ---------- ---------- ---------- ---------- ---------- на самом деле нужно удалить $length = mt_rand( $this->length_min, $this->length_max ); $this->length = $length; while (true) { // бесконечный цикл, пока не сгенериуем хорошую строку =) $this->keystring = ''; for ($i = 0; $i < $length; $i++) { // в цикле добавляем к строке по 1 случайному символу $this->keystring .= $this->allowed_symbols{ mt_rand( 0, strlen( $this->allowed_symbols ) -1 ) }; } if (!preg_match( '/cp|cb|ck|c6|c9|rn|rm|co|do/', $this->keystring )) break; } соответственно вставляем // Строим задачу $t1 = rand(10, 99); $t2 = rand(10, 99); $this->keystring = $t1.'+'.$t2.'='; $this->answer = $t1 + $t2;вместо удалённого и получаем function genstring() { // Строим задачу $t1 = rand(10, 99); $t2 = rand(10, 99); $this->keystring = $t1.'+'.$t2.'='; $this->answer = $t1 + $t2; } Изменено 29 декабря 2007 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 29 декабря 2007 Рассказать Опубликовано: 29 декабря 2007 (изменено) lifestar, http://4dle.ru/2007/12/29/antibot_xy.html респект.) Изменено 29 декабря 2007 пользователем ·• Greeze •· Цитата Ссылка на сообщение Поделиться на других сайтах
Walk 6 Опубликовано: 19 сентября 2012 Рассказать Опубликовано: 19 сентября 2012 Можно написать что-то подобное для версий 8.х 9.х? 2 Цитата Ссылка на сообщение Поделиться на других сайтах
DimkaG 5 Опубликовано: 3 ноября 2012 Рассказать Опубликовано: 3 ноября 2012 ап, вопрос актуален! 1 Цитата Ссылка на сообщение Поделиться на других сайтах
RACEDEMON 3 Опубликовано: 21 ноября 2012 Рассказать Опубликовано: 21 ноября 2012 За октябрь-ноябрь затесалось у меня ~1К Бендеров. Требуют алкоголя да матом ругаются (образно). В общем, Щикарная стандартная защита... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
fideral 0 Опубликовано: 2 декабря 2012 Рассказать Опубликовано: 2 декабря 2012 Много леваков стало региться. Сначала сидели вечно в форме добавления комментариев, а теперь почему-то в одной из новостей. Непонятно пока для чего. Цитата Ссылка на сообщение Поделиться на других сайтах
DimkaG 5 Опубликовано: 12 декабря 2012 Рассказать Опубликовано: 12 декабря 2012 юзайте смс регистрацию, врятле боты или леваки будут телефон светить... Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 12 декабря 2012 Рассказать Опубликовано: 12 декабря 2012 Регистрируются, но в комменты ничего не пишут, странно как-то, в чем смысл тогда. Цитата Ссылка на сообщение Поделиться на других сайтах
DimkaG 5 Опубликовано: 13 декабря 2012 Рассказать Опубликовано: 13 декабря 2012 Это кому ответ? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.