gpt4 book ai didi

python - 使用 python 和 django 中的日志记录用户与网站的交互

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:16 28 4
gpt4 key购买 nike

我目前正在帮助开发一个网站。上周末有人试图侵入该网站,但失败了。然而,由于去年夏天整个网站被重写,因此无法在网站内存储他们的事件并在用户放弃之前捕获他们的 IP。

是否有一种方法可以跟踪用户在网站中的操作(例如他们访问的链接)并将其存储到文件中(网站很小),以确保我们有操作记录,如果有人试图再次破解它吗?

为了看看我是否可以做到这一点,我开始使用日志记录,但遇到了如何通过日志记录准确记录用户操作的问题。我的设置如下,它有效,我只是不知道用什么来代替当前在logging.info()中的字符串来记录用户的 Action 。预先感谢您提供的任何帮助。

from ipware.ip import get_ip
import logging

def IPCatcher(request):
ip = get_ip(request)
if ip is not None:
print("We have an IP address for user")
print(ip)
logging.basicConfig(filename='log_recording.txt',
level=logging.DEBUG,format='%(asctime)s %(message)s',
datefmt='%m/%d/%Y %I:%M:%S %p')
logging.info('This is working')

else:
print("we don't have an IP address for user")

最佳答案

一开始登录 Django 可能会相当令人畏惧,但是网上有很多东西可以阅读。为了给您一个概述,最简单的设置方法 logging in django是从配置日志记录的 settings.py 文件开始;

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/django/debug.log',
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
}
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
'my_app': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}

my_app 替换为您的应用标签,然后在您的 View 中,日志记录调用将记录到 file 处理程序(请注意 mail_admins 处理程序将向 settings.ADMINS 发送电子邮件)。

import logging

from ipware.ip import get_ip

# This gets a named logger, which should match your appname
logger = logging.getLogger(__name__)

def IPCatcher(request):
ip = get_ip(request)
if ip is not None:
logger.info('This is working')

我还建议观看有关该主题的教程; https://www.youtube.com/watch?v=BsbtPqQdo3Q

关于python - 使用 python 和 django 中的日志记录用户与网站的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46676479/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com