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

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

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

Почтовые вопросы.2

  • Автор темы Автор темы yos
  • Дата начала Дата начала
Y

yos

Добрый день!!!


Необходимо знать, а заходил ли пользователь хоть раз в свою почту (т.е. создана новая учетная запись, но не понятно заходил ли пользователь в БД).
как это можно узнать?

Сервер: Lotus Domino 6.5.4
Шаблон почтовой БД: StdR6Mail/ru

заранее благодарю
 
Мне кажется, что это можно узнать из профайла базы.
Но точнее не скажу.
Сейчас подтянется народ, что-то умнее посоветует.
 
Посмотреть это можно в свойствах БД, на второй закладке есть User Detail... там показывается User Actuvity... но не уверен, что это через LS можно программно проверить.
 
Откриваем клиент админа, закладка server analysis вибираем пункт log - database - usage ну и ищех какую базу тебе надобно
 
мне кажется никак... если кодом надо
разве что, напиши код на Database Resources / PostOpen
 
Akupaka

можно посмотреть можно
например так как написал я но здесь есть одно "НО" в документе сервака задается число дней которое отвечает за хранения лога......если юзер только раз зашел в почту а прошло много времени то ничево не увидиш
 
я опишу ситуацию подробней, возможно вы подскажете мне другое решение.
изначально задача очень простая:
проверить сколько непрочитанных сообщений у пользователя. (использовал класс UnreadDocListClass.lss, который мне посоветовали).
для тех пользователей, которые используют почту - все хорошо и правильно работает, но...
есть новые пользователи, которые вообще ни разу не заходили в лотус (только создали, к примеру).
вот на таких пользователях просто валится сервер на бок (null handle или чтото около того пишет и сервер тут же "падает").
Сделал так:
Вход пользователя вообще в Лотус можно хоть примерно узнать (в документе пользователя сделать проверку на поля на вкладке Administration раздел Client Information).

А вот как избежать ситуации когда пользователь в Лотус зашел, но не зашел в БД почты...
 
Cleric-Lviv, я писал про вариант посмотреть кодом, шарить кодом по логам не очень интересно

да и кроме логов, лучше уж вот так смотреть :)
Посмотреть это можно в свойствах БД, на второй закладке есть User Detail... там показывается User Activity

валится сервер на бок (null handle или чтото около того пишет и сервер тут же "падает").
так может обработки нету там какой-то, т.е. пытаются инициализировать данные, и сразу к ним обращаются без проверки на результат инициализации?
скажи на каком коде валится сервак? лениво пробовать :)
 
Попробуй проверить на наличие CalendarProfile в базе (только предположение).

Вообще тут всё просто: надо взять свеженькую (никогда не открытую) почтовую базу, выгрузить её в DXL.
Зайти туда юзером, ничего не делая выйти.
Опять выгрузить в DXL и сравнить какие были изменения.
Подумать, на что можно оперется :)

Кстати, Akupaka прав: лучше посмотреть на чём валится и подумать, как можно подмандить.
Зачем костылям делать ещё одни костыли?
Лучше выпрямить ноги :)
 
Omh, судя по всему профайл создается только когда юзер его правит или читает письмо, иначе оно не присутствует в базе...
зато создаются какие-то colorprofile и archive database profile, но это не указывает на то, что именно нужный юзер открыл базу о.О
 
Akupaka
Короче, класс надо смотреть и думать, почему падает.
 
Я посмотрел тот класс, теоретически падает где-то тут:

Код:
result = NSFDbGetUnreadNoteTable(hDB, userName, Len(username), 0, hIDTable)
If result <> 0 Then
lastError = "Cannot open ID Table on " & db.FilePath & " on server " & db.Server & _
". Error was " & Cstr(result) & ": " & GetAPIError( result )
Goto closeDb
End If

'** make sure we got some IDs returned to us (if not, just exit)
count = IDEntries(hIDTable)

Надо класс разобрать и по строчечке, по строчечке :)
 
"падает" именно на этой строчке:

Код:
		'** make sure we got some IDs returned to us (if not, just exit)
count = IDEntries(hIDTable)
 
Akupaka, ну проблема все еще открыта с неверным количеством (когда все прочитаны и когда 1 письмо не прочитано) :)
 
yos
IDEntries - API функция, ты там ничего сделать не сможешь.
Прими как должное :)
 
Мы в соцсетях:

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