日志出现大量post 404 同一个ip_网站分析之网站日志

1、什么是网站日志

网站日志是记录web服务器接收处理请求以及运行时错误等各种原始信息的以·log结尾的文件,确切的讲,应该是服务器日志。网站日志最大的意义是记录网站运营中比如空间的运营情况,被访问请求的记录。通过网站日志可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器、什么分辨率显示器的情况下访问了你网站的哪个页面,是否访问成功

所谓的网站日志,就是网站所在服务器接受用户的各种请求的时候进行的处理状况的记录,无论是正常处理或者是出了各种错误,都会在网站日志中记录下来,其文件结尾以。log为扩展名。

2、网站日志举例

从网站上下载下的网站日志,在txt文本中就可以看到以下数据:

222.208.186.66--GET/HTTP/1.1-200-32229-http://www.yzfdjz.net-Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.0)

222.208.186.66——这是用户的IP地址,相信大家都能轻易看懂。知道了用户的IP,你甚至可以通过查询来得知用户是来自哪个国家、哪个省份、哪个城市的。查询得知,这个IP来自国内北京地区。不同的网站其用户群会有比较明显的区别,比如我的博客肯定大多数访问者是来自沈阳的,而有的网站其用户没有什么明显的地域区别。用户IP配合下面的等信息可以让你更加有效的分析网站的用户体验做得够不够好。

——这里讲的是发生该处理请求的具体时间。这里的时间是2014年8月30日7点16分41秒,后面的+0800则指的是时区,即所在地方相对应英国伦敦格林尼治时间,+0800代表的是东八区的时间。

GET——这是服务器的处理动作,一共只有两种:GET和POST。在网站日志中绝大部分都是GET,只有在进行CGI处理的时候才会出现POST,否则绝大多数时间服务器的响应都是GET,也就是用户从服务器上获取了页面或者别的文件。注意了,GET后面还有一个“/”,这里代表的是用户访问的页面,只有一个斜杠自然代表访问的是网站首页。

HTTP/1.1——这个代表用户访问该页面的时候,是通过HTTP1.1协议进行传输的,也就是超文本传输1.1版本协议。这个我们不必理会,因为网站日志中除了你可能用FTP之外,普通用户基本都是通过HTTP协议来进行访问的(个别提供FTP下载的网站除外)。

200-32229——代表的是用户访问页面的时候返回的状态码。以下就一些代码做个解释:

1**:请求收到,继续处理2**:操作成功收到,分析、接受3**:完成此请求必须进一步处理4**:请求包含一个错误语法或不能完成5**:服务器执行一个完全有效请求失败

100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本

200——交易成功201——提示知道新文件的URL202——接受和处理、但处理未完成203——返回信息不确定或不完整204——请求收到,但返回信息为空205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件206——服务器已经完成了部分用户的GET请求

300——请求的资源可在多处得到301——删除请求数据302——在其他地址发现了请求数据303——建议客户访问其他URL或访问方式304——客户端已经执行了GET,但文件未变化305——请求的资源必须从服务器指定的地址得到306——前一版本HTTP中使用的代码,现行版本中不再使用307——申明请求的资源临时性删除

400——错误请求,如语法错误

401——请求授权失败

402——保留有效ChargeTo头响应

403——请求不允许

404——没有发现文件、查询或URl

405——用户在Request-Line字段定义的方法不允许

406——根据用户发送的Accept拖,请求资源不可访问

407——类似401,用户必须首先在代理服务器上得到授权

408——客户端没有在用户指定的饿时间内完成请求

409——对当前资源状态,请求不能完成

410——服务器上不再有此资源且无进一步的参考地址

411——服务器拒绝用户定义的Content-Length属性请求

412——一个或多个请求头字段在当前请求中错误

413——请求的资源大于服务器允许的大小

414——请求的资源URL长于服务器允许的长度

415——请求资源不支持请求项目格式

416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段

417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求

500——服务器产生内部错误501——服务器不支持请求的函数502——服务器暂时不可用,有时是为了防止发生系统过载503——服务器过载或暂停维修504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长505——服务器不支持或拒绝支请求头中指定的HTTP版本。

以上就是简单对一段网站日志进行的分析,当然实际上大多数时候我们根本不需要这样人工去查看网站日志,有大把的网站日志工具可以供我们使用分析网站日志。不过当你的网站出现了一些问题的时候,那么一般的日志分析软件就无法帮助你进行分析的,你必须需要自己去查看日志了。

ebac8bca1ab03b698f8febc67a2aae60.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现 Django 项目的登录日志,可以按照以下步骤进行: 1. 新建一个模型类,用于存储登录日志信息。例如: ```python from django.db import models from django.contrib.auth.models import User class LoginLog(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) login_time = models.DateTimeField(auto_now_add=True) ip_address = models.CharField(max_length=20) ``` 2. 在登录视图中添加记录登录日志的代码。例如: ```python from django.contrib.auth.decorators import login_required from django.contrib.auth import authenticate, login from django.shortcuts import render, redirect from django.utils import timezone from .models import LoginLog @login_required def profile(request): if request.method == 'POST': # 登录表单提交 username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) # 记录登录日志 LoginLog.objects.create(user=user, login_time=timezone.now(), ip_address=request.META['REMOTE_ADDR']) return redirect('profile') else: # 登录失败 return render(request, 'login.html', {'error_message': '用户名或密码错误'}) else: # 显示个人资料页面 return render(request, 'profile.html') ``` 3. 在管理后台中注册登录日志模型类,以便在后台管理界面中查看登录日志信息。例如: ```python from django.contrib import admin from .models import LoginLog admin.site.register(LoginLog) ``` 4. 在模板中显示登录日志信息。例如: ```html {% extends 'base.html' %} {% block content %} <h2>登录日志</h2> <table> <thead> <tr> <th>用户名</th> <th>登录时间</th> <th>IP地址</th> </tr> </thead> <tbody> {% for log in login_logs %} <tr> <td>{{ log.user.username }}</td> <td>{{ log.login_time }}</td> <td>{{ log.ip_address }}</td> </tr> {% empty %} <tr> <td colspan="3">暂无登录记录</td> </tr> {% endfor %} </tbody> </table> {% endblock %} ``` 这样就可以实现 Django 项目的登录日志功能了。当用户登录成功后,会记录登录时间和 IP 地址,管理员可以在后台管理界面中查看登录日志信息。同时,也可以在模板中显示登录日志信息,以便用户自行查看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值