Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите продумать все возможности. Нужен совет 
:(
    Опции темы
t77
Дата 7.1.2010, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Я ходил туда и ничего нового там не увидел. 
И вообще не нужно давать примеры на PHP. Я его не знаю! 
Приведенный мной код удаляет определенные...Это хорошо но не совсем то, что нужно.
Вообщем на данный момент могу точно сформировать задачу.
Во первых это нужно сделать на клиенте однозначно. Я предпочитаю JavaScript.
Во вторых мне необходимо проверить вводимый пользователем текст на наличие каких-либо тегов. В случае если в тексте имеются тег или скобка тега то:
1. поднимаем флаг. 
2.Соответственно данному флагу сообщаем пользователю, что введеный текст не корректный.
3. Удаляем введеный пользователем текст.
4. возвращаем курсор на текстовое поле и ждем пока пользователь введет новый текст.

Так вот теперь возникает вопрос, как проверить стринг на наличие каких либо тегов ?? 
Просто проверить(тоесть функция проверяет стринг и возвращает true или false). 
Как это сделать??
PM MAIL   Вверх
t77
Дата 7.1.2010, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Получилось решить данную задачу в пару строк...
Код

function isNotValidText(strText)
{       
    var hasHtmlTags = false;
    
    debugger;
    var OpenBracketPattern=/</i;
    hasHtmlTags = OpenBracketPattern.test(strText);
    
    if(!hasHtmlTags)
    {
         var ClosedBracketPattern = />/i;
         hasHtmlTags = ClosedBracketPattern.test(strText);
    }
    
    return hasHtmlTags;            
}   

Скажите пожалуйста можно ли обойти данную валидацию ??
Принимаются замечания.
PM MAIL   Вверх
Amphiluke
Дата 7.1.2010, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Какой смысл в использовании флага i в регулярных выражениях />/ и /</ ?
И мильон ложных срабатываний. 

В этой строке есть теги?
«ваоыоыоышо<<<><<<drgegieijeoi»


Это сообщение отредактировал(а) Amphiluke - 7.1.2010, 12:09
PM   Вверх
Wolf1994
Дата 7.1.2010, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 1
Всего: 29



Код

if(str.indexOf("<")!=-1)
 //true

PM MAIL WWW   Вверх
bars80080
Дата 7.1.2010, 13:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(t77 @  7.1.2010,  09:54 Найти цитируемый пост)
Во первых это нужно сделать на клиенте однозначно

это заблуждение
PM MAIL WWW   Вверх
t77
Дата 7.1.2010, 14:41 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Цитата

это заблуждение 

bars80080 , спасибо за ваше мнение конечно...
Но дело в том, что прежде чем введенный пользователем текст пошлется на сервер необходимо сделать валидацию ввода на клиенте. Почему нет ?
Каким образом можно обойти данную проверку на клиенте ?

Amphiluke , вы имеете ввиду, что нет смысла включения флага учёта регистра, так как на скобки(< и >) это никак не влияет...??
Я правильно вас понял ??

Wolf1994, прикольно, спасибо.
Но, в чем преимущество вашего варианта ответа ??
Ведь если текст будет большим, то использование регулярных выражений предпотчительней, 
так как регурярки работают быстрее.
PM MAIL   Вверх
Wolf1994
Дата 7.1.2010, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 1
Всего: 29



Преимущества нет. Просто чуть короче условие.

По предмету спора: валидация на клиенте не защитит от хакера, но немного сэкономит ресурсы сервера на обычных посетителях.
PM MAIL WWW   Вверх
bars80080
Дата 7.1.2010, 18:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(t77 @  7.1.2010,  13:41 Найти цитируемый пост)
аким образом можно обойти данную проверку на клиенте ?

в общем случае достаточно открыть файербаг и поменять всё что нужно. в самом закрученном варианте придётся посоображать, но это всего лишь вопрос времени.
на js невозможно построить защиту, по той простой причине, что js  находится в руках клиента.

найти нужный запрос, заменить где надо параметры или даже переписать функции, и всё, понеслись на сервер те данные, которые нужны кулхацкеру


Цитата(t77 @  7.1.2010,  13:41 Найти цитируемый пост)
Но дело в том, что прежде чем введенный пользователем текст пошлется на сервер необходимо сделать валидацию ввода на клиенте. Почему нет ?

валидацию на клиенте можно сделать, и обычно это полезно экономией ресурсов сервера и трафика. но никакая проверка на js не сможет заменить проверку на сервере

Добавлено через 3 минуты и 12 секунд
да простой пример, тут есть звёздочки над каждым постом для оценки. в них есть механизм запрета повторного голосования и запрет от голосования за свой пост. всё на js. но это всего лишь внешняя атрибутика. на сервере есть при этом обязательная проверка, которая и служит единственным верным ограничителем.
даже если ты поломаешь механизм нажимания этих звёздочек, всё равно проголосовать дважды ты не сможешь. твой голос просто не учтётся
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0691 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.