Destruction Опубликовано 7 Января 2006 Автор Жалоба Поделиться Опубликовано 7 Января 2006 Так, принимаем исправление мода - теперь часть решения перекладывается на сервер, а именно проверка мыла на блеклист.Главная страница AЦ -> Главная страница настройки шаблонов -> (нужный скин) -> skin_register -> Main Registration FormНайти:<script language='javascript' type="text/javascript"> <!-- // Тут громоздкий код //--> </script>Заменить на:<script language='javascript' type="text/javascript"> <!-- function Validate() { // Check for errors if(document.REG.UserName.className!="reg_green" || document.REG.EmailAddress.className!="reg_green" || document.REG.PassWord.className!="reg_green"){ alert("Вы заполнили не все поля или заполнили их неверно.\n Возможно поля проверяются - подождите пока все поля не станут зелёными."); return false; } // Check for Empty fields if (document.REG.UserName.value == "" || document.REG.PassWord.value == "" || document.REG.PassWord_Check.value == "" || document.REG.EmailAddress.value == "") { alert ("Вы должны заполнить всю форму"); return false; } // Have we checked the checkbox? if (document.REG.agree.checked == true) { return true; } else { alert ("Перед продолжением регистрации, Вы должны прочесть правила форума и если Вы согласны и принимаете правила, отметьте окошко 'Я согласен'. В противном случае регистрация будет отменена."); return false; } } var pass=0,mail=0 function TestMail(){ mail=1; if(document.REG.EmailAddress.value.toLowerCase() != document.REG.EmailAddress_two.value.toLowerCase()){ document.getElementById("err_mail").style.display="block"; document.REG.EmailAddress.className="reg_red"; document.REG.EmailAddress_two.className="reg_red"; document.getElementById("err_mail").innerHTML="Введённые E-mail адреса не совпадают."; } else if(!document.REG.EmailAddress.value.match(/^[a-z_1-9-]{2,32}@([a-z_1-9-]{2,32}\.){1,8}[a-z]{1,5}$/i)){ document.getElementById("err_mail").style.display="block"; document.REG.EmailAddress.className="reg_red"; document.REG.EmailAddress_two.className="reg_red"; document.getElementById("err_mail").innerHTML="Вы ввели плохой E-mail адрес."; } else{ document.getElementById("err_mail").innerHTML = "<iframe src='index.php?act=Reg&CODE=tmail&mail="+document.REG.EmailAddress.value+"' style='display:none;'></iframe>"; document.REG.EmailAddress.className="reg_black"; document.REG.EmailAddress_two.className="reg_black"; document.getElementById("err_mail").style.display = "none"; } } function TestMailRes(r){ if(r==""){ document.REG.EmailAddress.className="reg_green"; document.REG.EmailAddress_two.className="reg_green"; document.getElementById("err_mail").style.display = "none"; } else{ document.REG.EmailAddress.className="reg_red"; document.REG.EmailAddress_two.className="reg_red"; document.getElementById("err_mail").innerHTML=r; document.getElementById("err_mail").style.display="block"; } } function TestNameRes(r){ if(r==""){ document.REG.UserName.className = "reg_green"; document.getElementById("err_name").style.display="none"; } else{ document.REG.UserName.className = "reg_red"; document.getElementById("err_name").innerHTML = r; document.getElementById("err_name").style.display="block"; } } function TestName(){ document.getElementById("err_name").innerHTML="<iframe src='index.php?act=Reg&CODE=tname&name="+document.REG.UserName.value+"' style='display:none;'></iframe>"; document.REG.UserName.className = "reg_black"; document.getElementById("err_name").style.display="none"; } function TestPass(){ pass=1; if(document.REG.PassWord.value != document.REG.PassWord_Check.value){ document.getElementById("err_pass").innerHTML = "Введённые пароли не совпадают."; document.REG.PassWord.className="reg_red"; document.REG.PassWord_Check.className="reg_red"; document.getElementById("err_pass").style.display="block"; } else if(document.REG.PassWord.value.length < 3){ document.getElementById("err_pass").innerHTML = "Слишком простой пароль."; document.REG.PassWord.className="reg_red"; document.REG.PassWord_Check.className="reg_red"; document.getElementById("err_pass").style.display="block"; } else{ document.getElementById("err_pass").style.display="none"; document.REG.PassWord.className="reg_green"; document.REG.PassWord_Check.className="reg_green"; } } //--> </script>sources/Register.phpНайти: case 'tname': $this->test_name(); break;Добавить ниже: case 'tmail': $this->test_mail(); break;Найти: } ?>Добавить Выше: function test_mail($err=""){ global $INFO; $email_list = explode("|",$INFO['ban_email']); if(get_magic_quotes_gpc()) $_GET['mail'] = stripslashes($_GET['mail']); for($i=0;$i<count($email_list);$i++){ $black = str_replace("\\*",".+",preg_quote($email_list[$i],"/")); if(preg_match("/^$black$/",$_GET['mail'])){ $err = "Ваш E-Mail или сервис E-Mail'ов в чёрном списке."; break; } } die("<html>\n<head>\n<meta http-equiv=\"Content-Type\" CONTENT=\"text/html; CHARSET=Windows-1251\">\n<script type='text/javascript'>\n<!-- //\ntop.TestMailRes(\"$err\");\n// -->\n</script>\n</head></html>"); } Первый пост сейчас поправлю. Демоверсия по-прежнему по адресу http://test.ultimasoft.ru/?act=Reg Теперь на серверной стороне так же проверяется E-Mail на принадлежность блеклисту. В демоверсии нельзя использовать эмейлы вида *@mail.ru (настраивается Пользователи -> БАН пользователей). Тестируем, не стесняемся нажимать кнопку регистрации. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 7 Января 2006 Жалоба Поделиться Опубликовано 7 Января 2006 ядрена мать if ((($name[$pos] <= 'а') and ($name[$pos] >= 'я')) or (($name[$pos] <= 'А') and ($name[$pos] >= 'Я')) and (($name[$pos] <= 'z') and ($name[$pos] >= 'a')) or (($name[$pos] <= 'Z') and ($name[$pos] >= 'A'))) { $err = "<font color=red>Нельзя использовать смесь символов кирилицы и латиницы</font><br>"; } где грабли ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 7 Января 2006 Автор Жалоба Поделиться Опубликовано 7 Января 2006 Так, для тех кто хочет видеть в имени пользователя только кирилицу или только латиницу:Открываем шаблон, ищем:function TestName(){Добавить ниже:if(document.REG.UserName.value.match(/[a-z]/i) && document.REG.UserName.value.match(/[а-я]/i)){ document.getElementById("err_name").style.display="block"; document.getElementById("err_name").innerHTML = "Используйте в имени только кирилицу или только латиницу."; document.REG.UserName.className = "reg_red"; return; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 7 Января 2006 Жалоба Поделиться Опубликовано 7 Января 2006 Dekkerядрена матьгде грабли ?А $name[$pos] - это символ ? В смысле $name - это строка ?Тогда с какого он будет работать так как тебе надо.У тебя условие не правильное тогда. Ты один и тот же символ проверяешь... Я понимаю, что в цикле скорее всего, но ты не сравниваешь его с другими символами в имени, а проверяешь в каком он диапазоне. Причем тут тогда "смесь символов" ?Или я не догоняю. Сорри, что вмешался. А почему тебе кстати такой вариант не подходит: $name = 'Dеkker'; if (preg_match("/[a-zA-Z]/",$name) && preg_match("/[а-яА-Я]/",$name)) { echo "Идите на фиг злые, нехорошие люди !"; } else { echo "Добро пожаловать мил человек !"; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 7 Января 2006 Автор Жалоба Поделиться Опубликовано 7 Января 2006 Хочется сделать как у IPB ) Так, не волнуемся, я ща всё переделал, терь всё красиво и понятно Ща распишу. ACP -> Стили -> (нужный стиль) -> найти:input.reg_green{border:1px solid green} input.reg_red{border:1px solid red} input.reg_black{border:1px solid black}Заменить на:.reg_green{border:1px solid green} .reg_red{border:1px solid red} .reg_black{border:1px solid black}Главная страница AЦ -> Главная страница настройки шаблонов -> (нужный скин) -> skin_register -> Main Registration Form -> Заменить таким шаблоном:<form action="{ibf.vars.board_url}/index.{ibf.vars.php_ext}" method="post" name='REG' onsubmit='return Validate()'> <input type='hidden' name='act' value='Reg' /> <input type='hidden' name='CODE' value='02' /> <input type='hidden' name='coppa_user' value='{$data['coppa_user']}' /> <b>{ibf.lang.reg_header}</b><br /><br />{$data['TEXT']} <br /> <br /> <div class="tableborder"> <div class="maintitle"><{CAT_IMG}> {ibf.lang.registration_form}</div> <div class="pformstrip">{ibf.lang.complete_form}</div> <table class="tablebasic"> <tr> <td colspan=2 id="err_name" style="display:none;"></td> </tr> <tr> <td class="pformleft">{ibf.lang.user_name}</td> <td class="pformright"><input type='text' size='32' maxlength='64' value='{$ibforums->input['UserName']}' name='UserName' onblur="TestName();" class="reg_black" disabled /></td> </tr> <tr> <td colspan=2 id="err_pass" style="display:none;"></td> </tr> <tr> <td class="pformleft">{ibf.lang.pass_word}</td> <td class="pformright"><input type='password' size='32' maxlength='32' value='{$ibforums->input['PassWord']}' name="PassWord" class="reg_black" onblur="if(p3.value.length)TestPass();" disabled /></td> </tr> <tr> <td class="pformleft">{ibf.lang.re_enter_pass}</td> <td class="pformright"><input type='password' size='32' maxlength='32' value='{$ibforums->input['PassWord_Check']}' name='PassWord_Check' class="reg_black" onblur="if(p2.value.length)TestPass();" disabled /></td> </tr> <tr> <td colspan=2 id="err_mail" style="display:none;"></td> </tr> <tr> <td class="pformleft">{ibf.lang.email_address}</td> <td class="pformright"><input type='text' size='32' maxlength='50' value='{$ibforums->input['EmailAddress']}' name='EmailAddress' class="reg_black" onblur="if(p5.value.length)TestMail();" disabled /></td> </tr> <tr> <td class="pformleft">{ibf.lang.email_address_two}</td> <td class="pformright"><input type='text' size='32' maxlength='50' value='{$ibforums->input['EmailAddress_two']}' name='EmailAddress_two' class="reg_black" onblur="if(p4.value.length)TestMail();" disabled /></td> </tr> <!--{REQUIRED.FIELDS}--> <!--{OPTIONAL.FIELDS}--> <!--IBF.MODULES.EXTRA--> </table> </div> <br /> <!--{REG.ANTISPAM}--> <br /> <div class="tableborder"> <div class="pformstrip">{ibf.lang.terms_service}</div> <div class="tablepad" align="center"> <strong>{ibf.lang.terms_service_text}</strong> <br /> <br /> <textarea cols='75' rows='9' readonly="readonly" name='Post' class='textinput'>{$data[RULES]}</textarea> <br /><br /><div id="err_aggr" style="display:none;"></div><b>{ibf.lang.agree_submit}</b> <input type='checkbox' name='agree' value='1' onclick="TestAgree();" disabled class="reg_black" /> </div> <div id="err_sbmt" style="display:none;"></div> <div class="pformstrip" align="center"><input type="submit" value="{ibf.lang.submit_form}" class='forminput' name="submit" disabled /></div> </div> </form> <script type="text/javascript"> <!-- // var p1 = document.REG.UserName; var p2 = document.REG.PassWord; var p3 = document.REG.PassWord_Check; var p4 = document.REG.EmailAddress; var p5 = document.REG.EmailAddress_two; var p6 = document.REG.agree; var e1 = document.getElementById("err_name"); var e2 = document.getElementById("err_pass"); var e3 = document.getElementById("err_mail"); var e4 = document.getElementById("err_aggr"); var e5 = document.getElementById("err_sbmt"); function Validate() { // Check for errors if(p1.className!="reg_green" || p2.className!="reg_green" || p4.className!="reg_green" || p6.className!="reg_green"){ e5.innerHTML = "Вы не можете отправить данные, пока они не будут введены верно.<br>\nВерные данные отмечены зелёным, неверные - красным, не проверенные - чёрным."; e5.style.display=""; return false; } return true; } function TestAgree(){ if(p6.checked) p6.className="reg_green"; else p6.className="reg_red"; } function TestMail(){ if(p4.value.toLowerCase() != p5.value.toLowerCase()){ e3.innerHTML = "Введённые E-Mail адреса не совпадают!"; e3.style.display=""; p4.className="reg_red"; p5.className="reg_red"; } else if(!p4.value.match(/^[a-z_1-9-]{2,32}@([a-z_1-9-]{2,32}\.){1,8}[a-z]{1,5}$/i)){ e3.innerHTML = "Таких E-Mail адресов не существует."; e3.style.display = ""; p4.className="reg_red"; p4.className="reg_red"; } else{ e3.innerHTML = "<iframe src='index.php?act=Reg&CODE=tmail&mail="+p4.value+"'></iframe>"; e3.style.display = "none"; p4.className = "reg_black"; p5.className = "reg_black"; } } function TestMailRes(r){ if(r==""){ p4.className="reg_green"; p5.className="reg_green"; } else{ p4.className="reg_red"; p5.className="reg_red"; e3.style.display = ""; e3.innerHTML = r; } } function TestName(){ if(p1.value.match(/[^1-9a-zа-я_-]/i)){ e1.style.display = ""; e1.innerHTML = "Имя содержит запрещённые символы."; p1.className = "reg_red"; } else if(!p1.value.length){ e1.style.display = ""; e1.innerHTML = "Не введено имя."; p1.className = "reg_red"; } else if(p1.value.length < 3){ e1.style.display = ""; e1.innerHTML = "Введено слишком короткое имя."; p1.className = "reg_red"; } else if(p1.value.length > 32){ e1.style.display = ""; e1.innerHTML = "Введено сликшом длинное имя."; p1.className = "reg_red"; } else{ e1.innerHTML="<iframe src='index.php?act=Reg&CODE=tname&name="+p1.value+"'></iframe>"; e1.style.display = "none"; p1.className = "reg_black"; } } function TestNameRes(r){ if(r==""){ p1.className = "reg_green"; } else{ e1.style.display = ""; e1.innerHTML = r; p1.className = "reg_red"; } } function TestPass(){ if(p2.value != p3.value){ e2.style.display = ""; e2.innerHTML = "Введённые пароли не совпадают."; p2.className = "reg_red"; p3.className = "reg_red"; } else if(p2.value.length < 3){ e2.style.display = ""; e2.innerHTML = "Введён слишком короткий пароль."; p2.className = "reg_red"; p3.className = "reg_red"; } else{ e2.style.display = "none"; p2.className = "reg_green"; p3.className = "reg_green"; } } p1.disabled = false; p2.disabled = false; p3.disabled = false; p4.disabled = false; p5.disabled = false; p6.disabled = false; document.REG.submit.disabled = false; // --> </script>sources/Register.phpНайти функции test_mail и test_name и зменить их на: function test_name($err=""){ global $ibforums,$DB; $name = $_GET['name']; $name = trim( str_replace( '|', '|' , $name ) ); $name = preg_replace( "/\s{2,}/", " ", $name ); if ($ibforums->vars['ban_names']) { $names = explode( "|" , $ibforums->vars['ban_names'] ); foreach ($names as $n) { if ( $n == "" ) continue; if (preg_match( "/".preg_quote($n, '/' )."/i", $name )) $err .= "Имя в блеклисте.<br>"; } } $DB->query("SELECT id FROM ibf_members WHERE name='".addslashes($name)."' LIMIT 1;"); if($DB->fetch_row()) $err .= "Имя уже зарегистрировано<br>"; die("<html>\n<head>\n<meta http-equiv=\"Content-Type\" CONTENT=\"text/html; CHARSET=Windows-1251\">\n<script type='text/javascript'>\n<!-- //\ntop.TestNameRes('$err');\n// -->\n</script>\n</head></html>"); } function test_mail($err=""){ global $INFO; $email_list = explode("|",$INFO['ban_email']); if(get_magic_quotes_gpc()) $_GET['mail'] = stripslashes($_GET['mail']); for($i=0;$i<count($email_list);$i++){ $black = str_replace("\\*",".+",preg_quote($email_list[$i],"/")); if(preg_match("/^$black$/",$_GET['mail'])){ $err = "Ваш E-Mail или сервис E-Mail'ов в чёрном списке."; break; } } die("<html>\n<head>\n<meta http-equiv=\"Content-Type\" CONTENT=\"text/html; CHARSET=Windows-1251\">\n<script type='text/javascript'>\n<!-- //\ntop.TestMailRes(\"$err\");\n// -->\n</script>\n</head></html>"); } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 8 Января 2006 Жалоба Поделиться Опубликовано 8 Января 2006 ну что же, по моему вполне законченное решение, автору низкий поклон за проделанную работу и пиво с меня при пересечении где нибудь в реальной жизни Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 8 Января 2006 Автор Жалоба Поделиться Опубликовано 8 Января 2006 Хорошего дизайна хватит, сказал он делая аналог под 2.0.х... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 8 Января 2006 Жалоба Поделиться Опубликовано 8 Января 2006 я не хочу выкладывать открытый код данной модицикации под версию 2,0 вопреки собственным убеждениям открытого кода. почему. из-за катящегося кома варезных двоек с нарушенным копирайтом, т.е прежде всего из-за неуважения к автору мода который являеться клиентом IBR, и неуважения к команде IBR. бесплатная версия мода под версию 2,* доступна только клиентам IBR которые являються публикой более благодарной. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 8 Января 2006 Автор Жалоба Поделиться Опубликовано 8 Января 2006 Для танкистов поясню. Сегодня я разработал аналогичный мод для версии 2.0.x и выложил на паблик (Dekker сказал, что памятник поставят), и тут выяснилось, что публика не очень благодарная.. В связи с чем, я попросил Dekker'а перенести тему в клиентский раздел. Если кому-то это надо, то модификации я разрабатываю платно - обращайтесь. Демоверсия для версии 2.0.х находится на моём форуме. Напомню, что код написан мной, и если он доступен - не значит, что его можно взять и поставить себе, это будет варез. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DANMASTER Опубликовано 8 Января 2006 Жалоба Поделиться Опубликовано 8 Января 2006 Ребята а чем всем mail.ru не нравится? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Shader Опубликовано 9 Января 2006 Жалоба Поделиться Опубликовано 9 Января 2006 Спасибо автору за проделанную работу! Очень полезный скрипт! Я нашел один баг и решил об этом сообщить! Сейчас очень часто, особенно в корпаративных средах, используют e-mail типа: firstname.surname@sitename.ru, но к сожалению данный мод упорно пишет, что таких e-mail'ов не существует! Ничего сложного, просто необходимо добавить в маску проверки e-mail'а еще знак "."! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 9 Января 2006 Жалоба Поделиться Опубликовано 9 Января 2006 >> 2Song - определись уже я же пишу не для студента, что для копи-паст, а для думающего человека, объясняю, что да как.Если определится - так подойдёт любой мой вариант и любой твой из вышеперечисленных.Я просто объясняю какой из них лучше и почему. Можно страдательный пример?Вот список который я попробывал:Dez165мавы15абвabсфы3т8HnfeAbcАбЫВ Все проходят, потом, мне просто надоело. 2Dekkerif (preg_match("#[A-Za-z]+#",$in_username) && preg_match("#[А-Ая-я]+#",$in_username))[А-Ая-я] - интересно... Ну вообще можно написать просто [Ая], т.к. диапазоны А-А и я-я состоят из одного элемента, разве не так?У меня вот так всё работает:// dont mixing english and russian letters if ( preg_match("#[a-z]+#i",$in_username) && preg_match("#[а-я]+#i",$in_username) ) { $this->show_reg_form('err_rus_en_user_name'); return; } // dont mixing english and russian letters Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 10 Января 2006 Автор Жалоба Поделиться Опубликовано 10 Января 2006 Хмм, зачем пхп, когда мы это в JS запихнули? Что касается варианта пхп:preg_match("/([a-z].+[а-я])|([а-я].+[a-z])/i",$in_username) Не проверял, но теоретически должно сработать, причём моя строчка короче Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 10 Января 2006 Жалоба Поделиться Опубликовано 10 Января 2006 2 DestructionХмм, зачем пхп, когда мы это в JS запихнули?Лично я бы все проверки на пхп продублировал. Так как JS выполняется на стороне клиента. Если обходить такую проверку "в лоб", то сохраняешь страницу, правишь код и все, регишься как тебе вздумается. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 10 Января 2006 Жалоба Поделиться Опубликовано 10 Января 2006 urisoft а оно дублировано скриптом форума Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 10 Января 2006 Автор Жалоба Поделиться Опубликовано 10 Января 2006 Предварительная проверка сделана для удобства пользователя, а не для дополнительной защиты. urisoft - вы сделали глупость, есть будут пытаться зарегистрироваться "хитрым образом", то данные будут посылаться в сценарий регистрации, а не предварительной проверки и в результате пользователь получит отказ, т.к. форум достаточно хорошо проверяет входные данные. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 10 Января 2006 Жалоба Поделиться Опубликовано 10 Января 2006 2 Destructionвы сделали глупость, есть будут пытаться зарегистрироваться "хитрым образом", то данные будут посылаться в сценарий регистрации, а не предварительной проверки и в результате пользователь получит отказ, т.к. форум достаточно хорошо проверяет входные данные.Нда. Если у вас при регистрации нет проверки на разрешенное мыло + смесь символов в самом скрипте регистрации (проверка сделана только в ваших функциях test_mail, test_name и JS), то это обходится элементарно. А если у вас все продублированно, то нафига вы пишете:зачем пхп, когда мы это в JS запихнули?Короче не видя кода, получается разговор двух глухих. Сделали, работает ну и модцы ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 11 Января 2006 Автор Жалоба Поделиться Опубликовано 11 Января 2006 Бред говорите. Повторяю, моя модификация никак не заменяет дефолтный проверки при регистрации, она лишь добавляет эти проверки на клиентской стороне, чтобы пользователю было удобнее. Я не понимаю, что Вы обойдёте? Сформируете запрос который отправит фейковые данные? Ну IPB проверит их своими проверками и пошлёт Вас нафиг, можно даже написать, что Вас предупреждали. Я не глух, это Вы не понимаете. Обойдёте, обойдете.. http://forum.ultimasoft.ru/?act=Reg Заплачу Вам денег, если Вы зарегистрируете аккаунт с любым E-Mail'ом типа *@1wapsite.com Вперёд. Не зарегистрируете - даже не обращайтесь. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 11 Января 2006 Жалоба Поделиться Опубликовано 11 Января 2006 2 DestructionВы даже не прочитали похоже...Если у вас при регистрации нет проверки на разрешенное мыло + смесь символов в самом скрипте регистрации (проверка сделана только в ваших функциях test_mail, test_name и JS), то это обходится элементарно.А если у вас все продублированно, то нафига вы пишете:зачем пхп, когда мы это в JS запихнули?Основную часть выделил жирным. Посмотрел дефолтные коды 1.х. Да, есть там проверка по умолчанию при регистрации на забаненое мыло. Ну не знал я этого (конкретно, про бан на мыло). Давай сразу ногами пинать... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 11 Января 2006 Автор Жалоба Поделиться Опубликовано 11 Января 2006 Эмм, не у нас продублировано, а у них. Если Вы думаете, что где-то не хватает проверок - это бред, ТАКИХ багов в IPB нет. А Вы меня видимо не слышате, я же сказал. Мод предварительной проверки, для удобства пользователя. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 11 Января 2006 Автор Жалоба Поделиться Опубликовано 11 Января 2006 Демо-Версия больше недоступна. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 12 Января 2006 Жалоба Поделиться Опубликовано 12 Января 2006 В Registration.php всегда проверялись забаненные IP, ники и мылы. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 27 Февраля 2006 Автор Жалоба Поделиться Опубликовано 27 Февраля 2006 Smart Fix. В моде была допущена ошибка - нельзя использовать нули в E-Mail'ах, спасибо Anna за сигнал. Главная страница AЦ -> Главная страница настройки шаблонов -> (нужный скин) -> skin_register -> Main Registration FormНайти: else if(!p4.value.match(/^[a-z_1-9-]{2,32}@([a-z_1-9-]{2,32}\.){1,8}[a-z]{1,5}$/i)){Заменить на: else if(!p4.value.match(/^[a-z_0-9-]{2,32}@([a-z_0-9-]{2,32}\.){1,8}[a-z]{1,5}$/i)){ Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 28 Февраля 2006 Жалоба Поделиться Опубликовано 28 Февраля 2006 Dekker,Выложи пожалуйста отредактированный skin_register.php Или ту часть, что мы меняем. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.