• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Поймать измениние полей ( Edit/comput/cfd/cwc )

  • Автор темы Автор темы morpheus
  • Дата начала Дата начала
M

morpheus

Доброе время суток
вопрос как отловить что значение поля было изменено ( в УИ пользователя )

идея на event Onchanged поля записывать глоб. переменную чтонить и при сохранении дока протоколировать всесь этот хлам.

а как же быть с компутедными/cfd/cwc полями? Сам нотес ведь както отлавливает что в док. были изменены хоть какието поля и просить сохраниться! как это можно отловить?

Вариант - раз просить сохранить - не совсем подходит ведь юзвер и так может нажать на кнопу сохранения. важно узнать какие поля были изменены
 
Для: Morpheus
В PostOpen создаем специальный документ doc1 с полями из текущего документа.
В PostSave создаем специальный документ doc2 с полями из текущего документа.
Там же сравниваем. Создаем лог. doc1 и doc2 удаляем. :)
 
Для: Medevic
ДУмал, біло дело - но вот не зочеться плодить доки, хотелось бы както отловить именно ивентами или может есть скрытые поля ... ун сам же нотес гад както отлавливает
 
Для: Morpheus
Посмотрел как у меня сделано. :)
Сохранять-то доки (doc1 и doc2) необязательно. Они в памяти. Значит и удалять не нужно. Ничего не плодится.
 
Ну можно не делать лишних доков: мне самому этот подход не очень нравиться.
У меня это дело реализовано библиотекой с типом и процедурами, обрабатывающими этот тип.
В initialize дефайню, какие поля надо отслеживать.
На PostOpen зачитываю, в нужный момент проверяю соответсвие зачитанных полей с реальными данными.

Это немного не то, что тебе надо (т.к. отслеживаются не все поля, а только предефайненные), но идея вполне понятна :)

Я так понимаю, тебе хочется воспользоваться чем-то более низкоуровневым :)
 
<!--QuoteBegin-Omh+19:09:2007, 10:19 -->
<span class="vbquote">(Omh @ 19:09:2007, 10:19 )</span><!--QuoteEBegin-->Я так понимаю, тебе хочется воспользоваться чем-то более низкоуровневым
[snapback]78770" rel="nofollow" target="_blank[/snapback]​
[/quote]
именноо.. хочу схватить именно сам факт изменения! тот каканный ФЛАГ
 
<!--QuoteBegin-Morpheus+19:09:2007, 12:59 -->
<span class="vbquote">(Morpheus @ 19:09:2007, 12:59 )</span><!--QuoteEBegin-->важно узнать какие поля были изменены
[snapback]78763" rel="nofollow" target="_blank[/snapback]​
[/quote]
Я не профи.
Но все же. Я както делал через notes.ini
В PostOpen записывал значения всех полей, потом при выходе сравнивал значения.
 
В background-е (т.е. ПОСЛЕ сохранения в базу) измененные поля можно отловить по свойству LastModified
 
Для: Constantin A Chervonenko
знаю, но мне надо в УИ до сохранения желательно, я так понимаю это никак беюз сравнения дока с открытия и до сохранения
 
Ну можно не делать лишних доков: мне самому этот подход не очень нравиться.
У меня это дело реализовано библиотекой с типом и процедурами, обрабатывающими этот тип.
В initialize дефайню, какие поля надо отслеживать.
На PostOpen зачитываю, в нужный момент проверяю соответсвие зачитанных полей с реальными данными.

Это немного не то, что тебе надо (т.к. отслеживаются не все поля, а только предефайненные), но идея вполне понятна

не могли бы написать что написать в initialize и какая проверка на postopen
 
У меня там тип состоящий из 2-х мемберов: ItemName и ItemText + процедуры обрабатывающие эти типы.
А initilaize я декларю массив моего типа и заполняю всем элементам мембер ItemName (что бы знать, какие айтемы отслеживать)
На посопене заполняю массив.

Сейчас вижу, что это дело проще сдеать list'ом, где tag - имя айтема, а значение, соответсвенно, значение айтема.
Видимо, писал библиотечку, когда ещё не научился готовить листы :)
 
list... ни разу не сталкивался!напишите,пожалуйста,что это такое и с чем его едят
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab