ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 22.08.2007, 18:16
sqr
Познающий
Регистрация: 15.12.2006
Сообщений: 31
Провел на форуме:
580474

Репутация: 26
По умолчанию

наскоко я понял надо просто выделить текст другим цветом
предлогаю формировать в контейнер
Цитата:
blablabla:<span class="kont">ggg</span>
нужный текст еще на сервере в пхп коде, но ничего с ним не делать а в случае нажатия шифт ентер просто устанавливать свойство цвета шрифта через css
Цитата:
kont.style.color="red";
Тоесть вы не трогаете само содержание а просто задаете вид отображения
И это не требует такого огромного количества жаваскрипт кода
Чтото я не понимаю всей этой завязаной канители наверное я гений........
или наоборот
 

  #12  
Старый 22.08.2007, 18:20
inv
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме:
951141

Репутация: 291
По умолчанию

автору нужны bb теги
[color=цвет]текст[/color]
Я еще раз повторяю нужен скрипт не для страницы
а для userjs (operafan.net)

Вообщем все сказал=\Больше повторять не буду,пусть автор подредактирует 1сообщение в теме чтобы не было непоняток
 

  #13  
Старый 22.08.2007, 18:51
Thanat0z
Постоянный
Регистрация: 06.12.2006
Сообщений: 762
Провел на форуме:
5352530

Репутация: 2062


По умолчанию

исправил первый пост, читайте внимательно. Если не можете справиться с Грисманки, пробуйте с оперой, там проще
 

  #14  
Старый 23.08.2007, 02:04
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

Репутация: 874
Отправить сообщение для Red_Red1 с помощью ICQ
По умолчанию

Подскажите КАК запускать этот скрипт и/или как пользоваться. Перепробовал все варианты.... установил оперу нужной версии, выполнил настройки которые описаны в скрипте. Не получилось! Поставил файрфокс нужный, установил грисманки, вроде как добавил новый скрипт, тоже нифига не работает.
Хочу разобраться чтобы добить задачку (с регулярками работал в ПХП, а вот тут не приходилось и решение как бы есть но...). Для пробы скачал с operafan.net один из userjs скриптов (первый самый - наклейки) подключил - заработало. Ну а ЭТОТ хоть ты тресни никак не могу заставить работать. Кто нибудь попробуйте у себя. Может я не так проверяю. Я создаю хтмл файлик с формой для ввода текста, пишу там что-то типа a9bceb0ac1654b9b0ec2fd8b23f859db:vasya , а дальше сколько не нажимаю Ctrl+Enter Shift+Enter пароль так и не засветился


А что касается задания, так тут мне кажеться немного не правильно задаеться поиск пароля в регулярном выражении. Ведь какая нам разница какого вида хеши мы забили в форму, так же нам все равно напишем мы хеш:пароль или хеш:соль:пароль, нам не нужно делить эти строки (для одной одна регулярка для другой другая), тут ведь четко нужно засветить последнее после двоеточия. Так не все ли равно что было ДО этого двоеточия. Подобную регулярку (она намного проще) я описал в предыдущем посте.

Последний раз редактировалось Red_Red1; 23.08.2007 в 02:22..
 

  #15  
Старый 23.08.2007, 03:16
Thanat0z
Постоянный
Регистрация: 06.12.2006
Сообщений: 762
Провел на форуме:
5352530

Репутация: 2062


По умолчанию

1) чтоб скрипт работал, в самом начале надо указать область действия - урл ачата или локалхост
2) не забыть в опере тот диалог с выбором папки где скрипты
з) попробовать поставить курсор перед хешем, либо через несколько строк после хеша.
4) пробуйте тока шифтентер.
5) длина хеша важна, чтоб скрипт обычный текст не трогал
 

  #16  
Старый 23.08.2007, 10:53
inv
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме:
951141

Репутация: 291
По умолчанию

создаем скрипт test.js текстом
alert();для проверки работает ли вообще хоть
какой-нибдуь скрипт,при ошибке в коде скрипт
может вообще не работать в приницпе

см консоль ошибок

Дальше идем в настройки оперы
tools-preferences-advances-content-javascriptoptions-user javascript files
или изменяем\смотрим настройки для опредленного сайта

@include
@exlude
для https разрешение)нужно
необязательны в начале скрипта(для всех сайтов папка со скриптами одинаковая,
то лучше использовать)

для мозиллы качаете плагин,дальше сами)

***
видео только по просьбе(лс)

Последний раз редактировалось inv; 23.08.2007 в 10:57..
 

  #17  
Старый 29.08.2007, 01:31
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

Репутация: 874
Отправить сообщение для Red_Red1 с помощью ICQ
По умолчанию

Ну и задачку ты подкинул, Танатоз, неделю возился, но зато узнал что такое пользовательские яваскрипты (userJS) и повторил регулярные выражения.
Есть кое-какие результаты, но сначала анализ скрипта из условия.
Я пытался подключить этот скрипт у себя - увы и ах скрипт не заработал. Вот тут для меня случился резкий налом, или я не умею подключать такие скрипты или в скрипте ошибка. После долгих раскопок и чтения я таки нашел ошибку в скрипте. Вот она:
Код:
replacements = [
  [/(\w{31,32}\:)([^\s\r]+\:)([^\s\r]+)/mig, '$1$2$3'],
  [/(\w{31,32}\:)([^\s\r\:]+$)/mig, '$1$2'], (тут не надо запятой)
    ];
Там эта зяпятая намекает на продолжение массива. Может этой ошибки и не было в исходном варианте скрипта, но видно Танатоз ты тут что-то подредактировал перед тем как выложить в задании. И вторая (ну это может опечатка или особенности записи скрипта на форум), дело в том что $3 в первой регулярке должtн быть обрамлен тегами цвета (например так [.b]$3[/.b] ставлю тег [.b] для удобства чтения) как и требует условие задачи. Но они то просто выделены красным и при копировании скрипта в буфер обмена, а оттуда в редактор – они не появляются по волшебству. Так вот это сразу не бросается в глаза и пришлось еще и это раскапывать… аналогично вторая регулярка там тоже с карманом $2
Дальше я не сумел перехватывать нажатия клавиш, поэтому занялся основной функцией скрипта (redhesh) эмулируя нажатия шифт энтер просто повесив вызов функции на событие onClick в своей ХТМЛ страничке. Для чистоты экспериментов саму функцию хранил в отдельном js файле и настроил на него OPERA 9.22.
Поехали дальше, анализ регулярных выражений показал что они не будут корректно работать даже с теми хешами которые вроде бы скрипт должен обрабатывать. Я нашел два случая неправильной работы выражений:

1) Для первой регулярки возьмем такие данные:
хеш:логин:пароль т.е. 32(31) это хеш, дальше через : логин и через : пароль.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:red:red – тут регулярка сработает (32 буквы а, ну и все остальное подходит под регулярку)
НО если взять вот такое, то:
bbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:red:red – регулярка ТОЖЕ сработает, так найдет строку в которой есть 32 буквы а и все остальное по регулярке!!! Почему так, да потому что в регулярке ничего не сказано про то с чего будет начинаться искомое выражение. Т.е. у нас во втором случае идет 4 буквы b дальше все четко по регулярке – 31(32) символа:логин:пароль поэтому регулярка срабатывает и красит что-то левое (а я понял ты в каком-то из постов сказал что нужно четко отличать хеш от нехеша чтобы не красило левак)
Та же штука со второй регуляркой но тут есть еще одна ошибочка.
2) В конце выражения стоит значек $ который обозначает конец строки. Т.е. регулярка сработает если наше выражение будет стоять в конце строки, а это согласитесь нас не устраивает, а что если таких записей больше или мы что-то дописали в конец. Там не достаточно одного этого знака для правильной работы.

Какие из этого всего выводы.
1) Цитата Танатоз:
Цитата:
когда я в тупую делал реплейсы
16, 32, 13
и в тексте были разные хеши, то для хешей в 32 делалась тройная окраска, что не есть гут
Эта ошибка вызвана как раз из-за того что описано в первом случае выше.
Решение:
Код:
 /(^|\s)(\w{31,32}\:)([^\s\r]+\:)([^\s\r]+)/mig
– по крайней мере оно учитывает то что искомая строка должна НАЧИНАТЬСЯ либо сначала строки либо с пробелов, а дальше уже 32 символа и т.д.
2) Заканчивать регулярку нужно вот так:
($|\s) т.е. или конец строки или пробел. Причем в самой длинной регулярке там где хеш:логин:пароль этот финал можно опустить. А вот в более коротких нельзя т.к. будет окрашено ненужное.
Результат:
Функция redhash этого скрипта должна выглядеть вот так:
Код:
function redhash(text) {

    replacements = [

  [/(^|\s)(\w{31,32}\:)([^\s\r]+\:)([^\s\r]+)/mig, ' $2$3<b>$4</b>'],
  [/(^|\s)(\w{31,32}\:)([^\s\r\:]+)($|\s)/mig, ' $2<b>$3</b>']
     ];
	    
    s = text;
    for( i=0; i < replacements.length; i++) {
	s = s.replace(replacements[i][0], replacements[i][1])
    }
return s
}
Можем добавить в нее поиск коротких хешей, например 16 символов, тогда:

Код:
replacements = [

  [/(^|\s)(\w{31,32}\:)([^\s\r]+\:)([^\s\r]+)/mig, ' $2$3<b>$4</b>'],
  [/(^|\s)(\w{31,32}\:)([^\s\r\:]+)($|\s)/mig, ' $2<b>$3</b>'],
 [/(^|\s)(\w{16}\:)([^\s\r\:]+)($|\s)/mig, ' $2<b>$3</b>']
    ];
При таком решении пароли уже не будут окрашены несколько раз.
Для работы теги <b> нужно заменит на необходимые для расцветки.
Если это еще актуально можно улучшить регулярки и полностью доделать задание. Тут например все таки не видно хеш мы нашли или просто какие-то символы заданного количества. Т.е. регулярка не ищет ХЕШ. Ну и конечно нужно тестировать выражения, в том плане что искомые строки могут находиться в разных кусках текста и после разных символов (перевод строки или знак пунктуации например). Опять же можно доделать если актуально остальную часть задания в плане поддержки различных видов записей.
Все. Опять же простите за длину но хотелось поделится впечатлениями от решения задачки. Танатоз СПАСИБО! Супер не скучал неделю.
З.Ы. Потестите кто-нибудь регулярки… может нужно что поменять.
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ