Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Capella

[Resolvido] Auditoria

Recommended Posts

Boa noite. alguem poderia me da uma ajuda. gostaria de saber se tem como fazer auditoria em usuários quando estão logados,tipo se o usuário modificar, incluir ou excluir teria como saber isso. e se tiver teria como alguem me da uma ajuda ou tentar me explicar a logicapara isso. se alguem souber de algum tutorial que falei +/- sobre isso tb servevlww.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi direito. Você tem um sistema que permite adição, alteração e exclusão de dados, certo? Esses processos são permitidos para usuários cadastrados e não-cadastrados, pelo que entendi.

 

Você quer saber quais ações foram realizadas por registrados e nào-registradsos? É isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não isso so é permitido para usuários cadastraddoslogin e senha. de certo nível,como eu poderia fazer a autitoria desses processos de cada usuário?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A cada ação realizada pelo usuário, grave no banco de dados o ID dele, IP, data/hora, ação realizada etc. Com isso será possível gerar relatórios de acesso, ações realizadas, com detalhes de quem as fez, à qual hora e com qual IP. ;)

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria +/- assim,criaria uma tabela com , id_user, ip,data/hora e acao.quando ele realiar a ação.gravo pro ex.id: 1ip: 192.168.0.1data: 13/05/2005 / 10:35acao: usuário deletou a noticia : teste de auditoria.????seria +/- isso;se foi o que entendi. beleza. vlw pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É por aí o caminho! ;) Dependendo do que o usuário possa realizar, você poderá criar uim código (id) para cada ação, adicionar outros campos... aí vai da imaginação e necessidade. :)

 

Só um detalhe: defina o campo data com o formato de data mesmo. Isso permite o uso de funções de data e hora do banco de dados. As datas ficam, geralmente, neste formato: YYYY-MM-DD HH:MM:SS

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia a todos!

 

Mas isso não iria gerar um problema no sistema?

exemplo: eu tenho uma variável que armazena a data e quem fez a edição.. se eu salvar denovo a data e hora antiga não iria sobreescrever??

Como seria possível trazer um relatório com todas as ações efetuadas pelo mesmo?

Ouvi dizer que com uma Trigger no banco de dados é possível fazer a auditoria de dados assim..

 

Se alguém puder ajudar ou dar uma dica agradeço.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Junior,

 

Na verdade não haveria problema, uma vez que a cada edição que o usuario fizer, será criado um novo registro na tabela, não sobrescrevendo nenhum anterior.

 

Para isso, terá q ter uma tabela apenas para a auditoria.

depois é so selecionar os registros onde a id corresponde ao do usuario no qual deseja supervisionar.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Detros!

 

você teria um exemplo pronto disso? ou algum material bom pra mim ler?

minha dificuldade está no fato de eu usar o phpmyadmin, estou tendo dificuldades para criar relacionamento entre tabelas. Estou desconfiado que o innodb não está habilitado.

se tiver algum tutorial que possa me ajudar eu agradeceria!

 

Abraço! grato pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho nenhum sistema aqui nao.. mas nao é nada complicado...

nao conheço nenhum tuto.. aprendi phpmyadmin fuçando ^^ ... mas acho q na documentaçao deve ter algo:

http://www.phpmyadmin.net/home_page/docs.php

 

mas a ideia é simples:

é apenas criar uma tabela dentro do banco de dados com o

nome: auditoria

campos: id, ip, data, ação

 

e no script que realiza a açao coloque um insert.. por exemplo..

se ele for editar o nome:

coloque um:

 

mysql_query("INSERT INTO auditoria (id, ip, data, ação) VALUES ('$id_usuario','$ip_usuario','$data','Editou o nome')");

 

e depois so dar um select onde você quer q exiba as açoes:

 

mysql_query("SELECT * FROM auditoria WHERE id = '$id_usuario' ");

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, até ai eu saquei como funciona mas como meu banco vai entender que a edição é um novo registro e posteriormente irá adicionar um campo na tabela? Terei que usar uma trigger para isso ok?

 

Grato pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao nao...

 

com o uso do INSERT ...

mysql_query("INSERT INTO auditoria (id, ip, data, ação) VALUES ('$id_usuario','$ip_usuario','$data','Editou o nome')");

 

você ja está dizendo q eh um novo campo...

se você quisesse modificar campos antigos.. você teria q usar UPDATE

mysql_query("UPDATE auditoria SET data = '$nova_data', ação = '$nova_acao' WHERE id= '$id_usuario' ");

 

^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce no momento de inserir, editar ou deletar algo do banco ja coloca junto uma query que coloque na tabela auditoria oque foi feito..

 

entendeu?

 

Abraço.

 

Sem Mais[]'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao tenho nada haver com o topico

mais vlw a tds que ajudaram..vou ter que usar isto nun sistema ^^

 

saber oke os func estao fazendo neh xP

vlw galera

 

seria melhor ainda com um IF neh

pq se for fora do if tda vez q dar refresh na pagina ele vai ficar boiando

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahhh.. sim sim detros..

 

eu estava me confundindo..

 

estava tendo uma outra visão do aplicativo.. estava imaginando já a parte gráfica, como seria exibido o histórico..

exemplo:

 

se na tabela eu tenho os campos: nome, data, telefone ; com os seguintes dados:

 

 

nome data telefone

-------------------------------------

fulano 26/03 2345678

fulano 27/03 10101010

evaristo 21/01 0000000

 

 

se eu quizer buscar o histórico do fulano eu faço.. select * from tabela where nome = 'fulano'

então irá retornar assim..

 

nome data telefone

-------------------------------------

fulano 26/03 2345678

fulano 27/03 10101010

 

 

de que maneira posso fazer com que essa mesma busca seja apresentada da seguinte forma:

 

nome data 1 telefone 1 data 2 telefone 2

----------------------------------------------------------------------

fulano 26/03 2345678 27/03 10101010

 

 

foi por isso que eu pensei nas triggers http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Abraço a todos! e desculpe o encomodo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.