kapa Опубликовано 2 Февраля 2007 Жалоба Поделиться Опубликовано 2 Февраля 2007 В свете продолжения работы над Заставить pureftpd работать с базой форуманеобходимо запретить позьзователям регистрироваться с именами, содержащими служебные символы и русские буквы. Для этого в файле /jscripts/ip_register.js добавил: в начало:var ucp_name_illegal_chars = new Array( '[', ']', '|', ',', ';' ); var ucp_name_illegal_regex = ''; for ( var i in ucp_name_illegal_chars ) { ucp_name_illegal_regex += '\\' + ucp_name_illegal_chars[i]; } в /*-------------------------------------------------------------------------*/ // Check username /*-------------------------------------------------------------------------*/после //---------------------------------- // Make sure we have sommat //---------------------------------- if ( ! reg_field_ids['name'].value || reg_field_ids['name'].value.length < 3 || reg_field_ids['name'].value.length > 32 ) { error_found += reg_error_username_none + "<br />"; }://---------------------------------- // Check for illegal chars //---------------------------------- if ( reg_field_ids['name'].value.match( new RegExp( "[" + ucp_name_illegal_regex + "]" ) ) ) { error_found += reg_error_chars + "<br />"; } После этого всё работает.Т.е. идёт проверка на символы: [, ], |, ; Но как только добавляем в строку русские буквы, например:var ucp_name_illegal_chars = new Array( '[', ']', '|', ',', ';' 'Б' );начинается игнор русских символов. Я сам не программист, поэтому прошу извинить за простой вопос, но, как заставить его проверять-таки наличие русских букв? Писать код каждого символа? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 2 Февраля 2007 Жалоба Поделиться Опубликовано 2 Февраля 2007 1.3 я надеюсь? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
kapa Опубликовано 2 Февраля 2007 Автор Жалоба Поделиться Опубликовано 2 Февраля 2007 1.3 я надеюсь?прошу прощения, забыл указать:2.1.7 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
kapa Опубликовано 2 Февраля 2007 Автор Жалоба Поделиться Опубликовано 2 Февраля 2007 Но как только добавляем в строку русские буквы, например:var ucp_name_illegal_chars = new Array( '[', ']', '|', ',', ';' 'Б' );начинается игнор русских символов.Вобщем пошли через зад:кодировка консоли koi8-rсоздал файл test.html<HTML> АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ абвгдеёжзийклмнопрстуфхцчшщъыьэюя </HTML>открыл его в броузере в кодировке Windows-1251и увидел"бвчздеіцъйклмнопртуфхжигюыэящшьас БВЧЗДЕЈЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС" в итоге получил запрещённые символы: var ucp_name_illegal_chars = new Array( '[', ']', '|', ',', ';', 'б', 'в', 'ч', 'з', 'д', 'е', 'і', 'ц', 'ъ', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'т', 'у', 'ф', 'х', 'ж', 'и', 'г', 'ю', 'ы', 'э', 'я', 'щ', 'ш', 'ь', 'а', 'с', 'Б', 'В', 'Ч', 'З', 'Д', 'Е', 'J', 'Ц', 'Ъ', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'Т', 'У', 'Ф', 'Х', 'Ж', 'И', 'Г', 'Ю', 'Ы', 'Э', 'Я', 'Щ', 'Ш', 'Ь', 'А', 'С' );^M только вот пресловутая буква "Ё" не поддаЁтся Ё=iё=Jно в таком виде всё равно возможно еЁ использование...Подскажите как одну букву-то победить? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Master Опубликовано 3 Февраля 2007 Жалоба Поделиться Опубликовано 3 Февраля 2007 В поиске ищите, есть методы попроще сделать требуемое. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 3 Февраля 2007 Жалоба Поделиться Опубликовано 3 Февраля 2007 Надо не в JS это дело фильтроватьт.к. это легко обойти отослав данные формы напрямую или просто отрубив выполнение JS Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 3 Февраля 2007 Жалоба Поделиться Опубликовано 3 Февраля 2007 этот вопрос уже обсуждался и задавался именно, точь-в-точь такжерешение просто - отрубить по аскии последние 128 символов и все путем для любых кодировок Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 5 Февраля 2007 Жалоба Поделиться Опубликовано 5 Февраля 2007 Как запретить регистрацию руских ников? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.