Kors Опубликовано 8 сентября, 2014 Жалоба Поделиться Опубликовано 8 сентября, 2014 Начиная с версии 2.2.5, капча состоит из 5 цифр, раньше было 4 цифры.В разных местах в шаблонах, например, в файле post.tpl, при выводе поля для ввода контрольного кода используется маска data-format="\d\d\d\d". Маска неправильная сразу по нескольким причинам:1. сразу видно, что маска позволяет ввести только 4 цифры, что, конечно же, неправильно,2. более тонкое наблюдение показывает, на самом деле маска ввода позволяет ввести и ЛЮБОЙ текст, содержащий 4 подряд идущих цифры, например 13877454, 1234test, ppp1111mm.3. наконец, маска позволяет ввести первую цифру 0, в то время как в контрольном коде такого не бывает. Следовало бы использовать data-format="^[1-9]\d\d\d\d$". Цитата Ссылка на сообщение Поделиться на другие сайты
Chuma3 Опубликовано 16 сентября, 2014 Жалоба Поделиться Опубликовано 16 сентября, 2014 У меня есть такая проблема. Как это исправить? (ЗЫ я ни разу не программер, я юзер) Цитата Ссылка на сообщение Поделиться на другие сайты
star Опубликовано 23 февраля, 2016 Жалоба Поделиться Опубликовано 23 февраля, 2016 (изменено) Начиная с версии 2.2.5, капча состоит из 5 цифр, раньше было 4 цифры.В разных местах в шаблонах, например, в файле post.tpl, при выводе поля для ввода контрольного кода используется маска data-format="\d\d\d\d". Маска неправильная сразу по нескольким причинам:1. сразу видно, что маска позволяет ввести только 4 цифры, что, конечно же, неправильно,2. более тонкое наблюдение показывает, на самом деле маска ввода позволяет ввести и ЛЮБОЙ текст, содержащий 4 подряд идущих цифры, например 13877454, 1234test, ppp1111mm.3. наконец, маска позволяет ввести первую цифру 0, в то время как в контрольном коде такого не бывает. Следовало бы использовать data-format="^[1-9]\d\d\d\d$". изменил цифровой рандом на буквенный, как правильно теперь использовать data-format и учесть регистр букв. //$code = rand(10000, 99999); $code = ""; for ($i = 0; $i < 5; $i++) $code .= chr(mt_rand(65, 90)); $_SESSION["captcha_code"] = $code; Изменено 23 февраля, 2016 пользователем star Цитата Ссылка на сообщение Поделиться на другие сайты
star Опубликовано 23 февраля, 2016 Жалоба Поделиться Опубликовано 23 февраля, 2016 (изменено) в дефолтном шаблоне капча выводится для цифр вот так <div class="captcha"><img src="captcha/image.php?{math equation='rand(10,10000)'}"/></div> <input class="input_captcha" id="comment_captcha" type="text" name="captcha_code" value="" data-format="\d\d\d\d" data-notice="Введите капчу"/> вот работоспособный вариант для букв, надо сделать чтобы валидными были ТОЛЬКО буквы верхнего регистра <div class="captcha"><img src="captcha/image.php?"/></div> <input id="comment_captcha" type="text" name="captcha_code" data-notice="Введите капчу"/> Изменено 23 февраля, 2016 пользователем star Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 23 февраля, 2016 Автор Жалоба Поделиться Опубликовано 23 февраля, 2016 Если только буквы верхнем регистре в к-ве 5 шт, тоdata-format="^[A-Z][A-Z][A-Z][A-Z][A-Z]$" Цитата Ссылка на сообщение Поделиться на другие сайты
star Опубликовано 23 февраля, 2016 Жалоба Поделиться Опубликовано 23 февраля, 2016 Если только буквы верхнем регистре в к-ве 5 шт, тоdata-format="^[A-Z][A-Z][A-Z][A-Z][A-Z]$"Спасибо. код работает то что нужно Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 29 февраля, 2016 Жалоба Поделиться Опубликовано 29 февраля, 2016 Может немного изменить заголовок поста и в готовые решения?) Отличный тутор получился ведь Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 1 марта, 2016 Жалоба Поделиться Опубликовано 1 марта, 2016 (изменено) Kors можно б и красивее сделать... цифры: data-format="^\d{5}$"Буквы в верхнем регистре (для поста #3): data-format="^[A-Z]{5}$" буквенно-цифровой вариант (все цифры и буквы и _): data-format="^\w{5}$" Изменено 1 марта, 2016 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 1 марта, 2016 Автор Жалоба Поделиться Опубликовано 1 марта, 2016 Kors можно б и красивее сделать... цифры: data-format="^[1-9]{5}$"Буквы в верхнем регистре (для поста #3): data-format="^[A-Z]{5}$" буквенно-цифровой вариант (все цифры и буквы): data-format="^\w{5}$" Да, выглядит покрасивее.Если бы еще было ПРАВИЛЬНО во всех случаях, совсем отлично было бы.Насколько я понимаю, из предложенных Вами вариантов - правильный только один... Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 1 марта, 2016 Жалоба Поделиться Опубликовано 1 марта, 2016 скорее не правильный только 1. с цифрами поправил Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 1 марта, 2016 Автор Жалоба Поделиться Опубликовано 1 марта, 2016 Новый первый вариант тоже неверный. Подробно написано в первом посте, пункт 3.Третий вариант пропускает символ подчеркивания, а в капче таких символов не применяют, специфика такая... Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 1 марта, 2016 Жалоба Поделиться Опубликовано 1 марта, 2016 (изменено) по п3 - видел. Но считаю что это не особо важно для данной капчи.Но если не знаете как сделать что бы 1 символ был от 1 до 9 то вот: data-format="^[1-9]\d{4}$" по 3й регулярке - это был лишь пример (может кому пригодится) Изменено 1 марта, 2016 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 1 марта, 2016 Автор Жалоба Поделиться Опубликовано 1 марта, 2016 Но если не знаете как сделать что бы 1 символ был от 1 до 9 то вот: А если знаю, то какой вариант в этом случае? Старый одесский анекдот:- Если я пойду по этой улице, там будет вокзал?- Вокзал будет, даже если Вы не пойдете... Первый вариант теперь правильный. Осталось третий поправить. Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 1 марта, 2016 Жалоба Поделиться Опубликовано 1 марта, 2016 А если знаете - то думаю догадаетесь куда идти... Может вокзал найдете! Что править в 3 варианте? Он что не работает? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 2 марта, 2016 Автор Жалоба Поделиться Опубликовано 2 марта, 2016 Что править в 3 варианте? Он что не работает? Третий вариант пропускает символ подчеркивания, а в капче таких символов не применяют, специфика такая... Цитата Ссылка на сообщение Поделиться на другие сайты
star Опубликовано 2 марта, 2016 Жалоба Поделиться Опубликовано 2 марта, 2016 (изменено) в капче можно применять спецсимволы в том числе и символ _ $code = ""; for ($i = 0; $i < 5; $i++) $code .= chr(mt_rand(91, 96)); было бы желание Изменено 2 марта, 2016 пользователем star Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 2 марта, 2016 Автор Жалоба Поделиться Опубликовано 2 марта, 2016 в капче можно применять спецсимволы в том числе и символ _ Применять можно. Будет ли это хорошо?В капче частенько применяется шум в виде точек или отрезков. И использовать при этом символ подчеркивания - несерьезно... Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 8 марта, 2016 Автор Жалоба Поделиться Опубликовано 8 марта, 2016 А если знаете - то думаю догадаетесь куда идти... Может вокзал найдете!Попробовал пойти именно туда, куда следует, а именно: честно проверить Ваше решение на практике. Результат оказался весьма неожиданным. Обнаружилось, что работает совершенно неправильно и первоначальный и последующие варианты от yr4ik из #8, #12. Вот что значит не проверять.... Если будете писать новые варианты своего красивого решения, то настоятельная просьба все предварительно проверять. Иначе есть риск оказаться в ситуации "поспешишь - людей насмешишь". Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 8 марта, 2016 Жалоба Поделиться Опубликовано 8 марта, 2016 Опубликовано Сегодня, 08:38 Вот ты встал наверное с утра 8 марта и думаешь... Никто не поздравляет, значит нужно поза**вать кого то.... Давай пиши... Кого я насмешил? И главное чем?! Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 8 марта, 2016 Автор Жалоба Поделиться Опубликовано 8 марта, 2016 (изменено) Давай пиши... Кого я насмешил? И главное чем?! Вопросы некорректные. Я не писал, что Вы кого-то насмешили. Читайте хоть немного внимательно. Я писал о том, что методы, предложенные Вами в #8 и #12, не работают. Хотите знать детали - не ленитесь, попробуйте сделать свои изменения на практике и увидите результат. Изменено 8 марта, 2016 пользователем Kors Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 8 марта, 2016 Жалоба Поделиться Опубликовано 8 марта, 2016 Я в посте #8 все описал что и как проверяет каждая регулярка.Если ты не согласен с тем что там написано - то иди нахер!Мозги мне выносить не нужно.... Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 9 марта, 2016 Автор Жалоба Поделиться Опубликовано 9 марта, 2016 Я в посте #8 все описал что и как проверяет каждая регулярка. Это так.Но Вы не видите разницу:1. Вы описали то, что и как проверяет каждая регулярка.2. А моя мысль совсем другая: предложенный Вами в #8 метод НЕ работает на странице сайта. Похоже, Вы зациклились на регулярке не видите разницу между частным вопросом 1 и общим для темы вопросом 2.Полагаю, что не видите эту разницу потому, что ленитесь затратить пару минут и проверить свой метод на практике. Думаю, что если бы проверили, сразу бы поняли и не писали бы массу глупостей в теме.Самоуверенность - не лучшее качество... У меня уже был опытhttp://forum.simplacms.ru/topic/2368-%D1%81%D0%BC%D0%B5%D0%BD%D0%B0-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%BE%D0%B2-%D1%88%D0%B0%D0%B1/page-4?do=findComment&comment=54281Там два уважаемых специалиста никак не могли понять тривиальную ошибку в своем методе. Обсуждать реальные аргументы и делать секундные проверки они не желали, а вместо этого соревновались в потоке грязных ругательств в мой адрес. Дошло до них что-то примерно через год.Вопрос этой темы еще проще, я был сказал, крайне тривиальный. Но, похоже, Вы решили его сделать таким же сложным, как в цитированной теме. Ну что же, подождем... Цитата Ссылка на сообщение Поделиться на другие сайты
Julius123 Опубликовано 16 марта, 2016 Жалоба Поделиться Опубликовано 16 марта, 2016 Ставлю data-format="^[1-9]\d\d\d\d$" и все равно можно вводить сколько угодно чисел. <div class="captcha"><img src="captcha/image.php?{math equation='rand(10,10000)'}" alt='captcha'/></div> <input style="height:32px" class="input_captcha" id="comment_captcha" type="number" name="captcha_code" data-format="^[1-9]\d\d\d\d$" data-notice="Введите капчу" required /> Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 марта, 2016 Автор Жалоба Поделиться Опубликовано 16 марта, 2016 На демо сайте 1. В админке создаю копию шаблона 2. В копии в файле cart/tpl изменяю на data-format="^[1-9]\d\d\d\d$" 3. Пытаюсь ввести в качестве капчи 1 цифру - не пускает 4. Пытаюсь ввести в качестве капчи 10 цифр - не пускает 5. Пытаюсь ввести в качестве капчи 5 цифр - проходит дальше. То есть стандартно работает. Видимо, у Вас ошибка индивидуальная, связанная с Вашими изменениями... Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 марта, 2016 Автор Жалоба Поделиться Опубликовано 16 марта, 2016 Если аналогично опробовать метод yu4ik из #8, то не работает во ВСЕХ вариантах. Просто не дает оформить заказ при правильной капче. Ужасно интересно, сам yu4ik свой способ проверял? Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.