Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

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


Эксперт
***


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

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



К имеющемуся проекту потребовался логер, понятный пользователю.
И вот передо мной встал вопрос, а как организовать такой логгер. Единственное, что я точно определил, что там должны будет храниться не только системные сообщения и запросы в БД, но и понятные пользователю сообщения т.е. он не знает даже, что такое База данных.

1. Основные модерациооные действия происходят через запрос к базе данных. Так вот, хватит ли мне для полного контроля сохранять все операции с БД и файлами. Или есть еще функции, которые следует контролировать? 
2. Сколько по времени следует хранить логии?
3. Где стоит хранить логии? Записей много, а модерация самая элементарная.
4. Как их стоит представлять пользователю?

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

PM MAIL   Вверх
WolfON
Дата 18.5.2007, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В идеальной реализации системы логирования будут использоваться Аспектно-Ориентированное программирование и Syslog или БД

http://phpaspect.org/
http://ru2.php.net/syslog

PM MAIL ICQ   Вверх
BuShaRt
Дата 18.5.2007, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



WolfON
Английского мы не знаем :(

Это сообщение отредактировал(а) BuShaRt - 18.5.2007, 12:18
PM MAIL   Вверх
WolfON
Дата 18.5.2007, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



BuShaRt, а очень-очень зря. хороший документации по аспектно-ориентированному программированию на русском языке я не находил. сама эта парадигма, на мой взгляд очень перспективна в создании такого функционала, вроде систем поиска, логирования, обеспечения безопасности и тд.
Можешь почитать вот это:
http://www.cmsdevelopment.com/ru/articles/aosdinphp/

Чтобы не отдаляться от темы, то скажу, что если не нужны особо навороченные фичи и все-такое, то почему-бы просто не перехватывать все запросы на уровне абстракции баз данных, анализировать их и затем всю нужную информацию писать куда надо (через тот-же syslog допустим).
PM MAIL ICQ   Вверх
BuShaRt
Дата 18.5.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(WolfON @  18.5.2007,  13:02 Найти цитируемый пост)
то почему-бы просто не перехватывать все запросы на уровне абстракции баз данных

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

А как вы предложите перехватывать? В основном коде?

-----
Я как думал, что перед отправкой запроса создавать запись в БД в читабельной форме (на русском) о выполненном действие и некоторой дополнительной информации о дате и т.п.
или
Поставить буфер в классе работы с MySQL, который будет перед выполнением парсить запросы... только в данном случае получаеться туфталогия какая-то, с тем, чтоб парсер не парсил запросы сгенирированные логиром  smile 
PM MAIL   Вверх
WolfON
Дата 18.5.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

Подводные камни - потеря производительности. Особенно при использовании БД (лишний инсерт - дорогая операция в мускуле), по этому самое оптимальное решение syslog - за эффективное хранение информации тут будет отвечать непосредственно система.
Да и вообщем-то для ведения логов хватает самого обычного текстового файла.
PM MAIL ICQ   Вверх
BuShaRt
Дата 18.5.2007, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



WolfON
А по времени сколько желательно хранить логи? Ведь по суте я думаю если стереть отчеты месячной давности, то от безопастности не не убудет?
Или я ошибаюсь?
PM MAIL   Вверх
WolfON
Дата 18.5.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



BuShaRt, ну это уже ваше личное дело )
Можно месяц, можно два, а можно вообще не удалять.
Компромисс - месяц хранить, а потом в архив
PM MAIL ICQ   Вверх
BuShaRt
Дата 18.5.2007, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



WolfON
Ясно.. спасибо smile
PM MAIL   Вверх
MoLeX
Дата 19.5.2007, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



ЛОГИ!!! я не совсем понял что тебе нужно!!! Если нужно просматривать что именно вводил пользователь в адресной строке (пример: http:⁄⁄mysite.ru⁄index.php?page=<script>alert(‘XSS’)</script>) т.е. для быстрого выяснения через какой баг ваш сайт взломали советую поставить замечательны скрипт носящий название - cnstats, он нетока тебе все покажет но и расскажет какой ипи, во ско-ко... короче поставь и посмотри... непожалеешь....


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
BuShaRt
Дата 19.5.2007, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



MoLeX
нет, журал действий модераторов... Дабы проследить дыру в безопастности созданную человеческим фактором т.е. отгородиться от соц. инжинеров.
PM MAIL   Вверх
WolfON
Дата 19.5.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



BuShaRt, от человеческого фактора практически невозможно защититься, но есть возможность "догадаться" о взломе. Самый очевидный - при создании отчета выставлять каждому действию или группе действий - степень опасности. Т.е допустим клиент заходит с ip из одной подсети - это нормальное действие у него 0 опасности, но если вдруг пользователь заходит с ip из другой подсети, то ему можно выставить 5 уровень опасности - возможно, что это не он заходит. Или если пользователь часто логиниться, то этим действием тоже выставляется повышенный уровень опасности - допустим 3.
В итоге можно получить таблицу пользователей с уровнем опасности для каждого и таблицу действий.
Ориентируясь на уровень опасности можно уже принимать какие-нибудь меры, допустим принудительная смена пароля.
PM MAIL ICQ   Вверх
BuShaRt
Дата 19.5.2007, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



WolfON
Наверно логичней всего продумывать логер под определенный проект. Т.к. вами редставленно средство нелогично в пределах админ системы сайта магазина.

З.ы. именно сайта магазина, а не сайта-магазина.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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