Django的基本访客跟踪和黑名单
codingsoho-tracking的Python项目详细描述
`` codingsoho tracking``是一个简单的尝试,它可以跟踪django支持的网站的访问者。它还提供基本的黑名单功能。
https://github.com/codekoala/django tracking/contributors>;`.
…图片::https://img.shields.io/pypi/v/django tracking.svg
:目标:https://pypi.python.org/pypi/django tracking/
…图片::https://img.shields.io/pypi/dm/django tracking.svg
:目标:https://pypi.python.org/pypi/django tracking/
…图片::https://img.shields.io/github/license/bashu/django tracking.svg
:目标:https://pypi.python.org/pypi/django tracking/
……图片::https://landscape.io/github/bashu/django-tracking/develop/landscape.svg?style=flat
:target:https://landscape.io/github/bashu/django tracking/develop
features
--
*跟踪有关访问者的以下信息:
*会话密钥
*IP地址
*用户代理
*无论他们是否是注册用户和登录
*他们来自何方(http-referer)
*他们上次访问您网站上的哪个页面
*他们访问过您网站上的多少页面
*允许用户代理筛选访问者跟踪
*自动清理旧访问者记录
*可以禁止某些IP地址,使站点对来自
那些IP的访问者无效(非常适合阻止垃圾邮件)
*在您的站点上有活动用户的实时源
*模板标记到:
*显示站点上有多少活动用户
*确定站点上有多少活动用户在您的站点中的同一页
*可选的"活动访问者地图",以查看访问者在世界上的位置
要求
====
,据我所知,django跟踪工作的唯一要求是django的现代版本。我开发了django 1.0alpha 2和
beta1的项目。它是为使用新表单管理功能而设计的。
您需要安装"geoip c api library"
<;http://geolite.maxmind.com/download/geoip/api/c/geoip.tar.gz>;` ` ` ` `.
您可能需要获取"geolite city binary"
<;http://www.maxmind.com/app/geolitecity>;` ` ` ` `,除非您是付费的maxmind
客户。这是"django tracking"用来将
ip转换为地球上某个位置的数据文件。稍后将讨论如何配置此功能。
http://pypi.python.org/pypi/codingsoho-tracking/>;``或使用:
下载并安装``codingsoho-tracking``.
轻松安装
----
http://pypi.python.org/pypi/codingsoho跟踪/>;`或者使用::
easy_install codingsoho tracking
http://bitbucket.org/hordechief/codingsoho-tracking
git clone http://github.com/hordechief/codingsoho-tracking.git
package download
===
记住。
配置操作
===
首先,必须将此项目添加到
``settings.py``中的"已安装的应用程序"列表:
installed的应用程序=(
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',,
"django.contrib.sessions"、
"django.contrib.sites"、
…
"tracking"、
…
)
运行"manage.py syncdb"。这将在数据库中创建一些操作所必需的表。
具体取决于您希望如何使用此应用程序,您有几个选项:
visitor tracking
----
将"tracking.middleware.visitorrackingmiddleware"添加到"settings.py"中的"middleware"类中。它必须在
``authenticationmiddleware```的下面,这样就存在``request.user``了。
将"tracking.middleware.visitorcleanupmidleware"放在
``中间件类``.
----
将"tracking.middleware.bannedipmidleware"添加到"settings.py``中间件类`
中。我建议把它作为
``中间件类``中的第一项,这样在django意识到它们不属于您的站点之前,您的被禁止用户就不必钻取任何
其他中间件。
标记)
--------
确保"django.core.context_processors.request"位于
"template_context_processors"元组中的某个位置。此上下文处理器使模板可以访问
``request``对象。此应用程序使用
``request``对象来确定用户在模板
标记中查看的页面。
地图功能。确保您已经在主urlconf中添加了一行
,如下所示:
from django.conf.urls.defaults import*
…
(r'^tracking/',include('tracking.urls'),
…
next,在"settings.py"中设置两个设置:
*``google-maps-key```:您自己的google-maps-api-key
*``tracking-use-geoip```:如果您想在
地图上看到标记,请将其设置为"true":将其设置为
`` geoip.dat``或'geoicity.dat``或任何文件。它通常是
类似于`/usr/local/share/geoip.dat``或`/usr/share/geoip/geoip.dat`.
*``geoip缓存类型``:处理geoip数据时要使用的缓存类型:
*``0`:从文件系统读取数据库,使用最少的内存。
*``1`:将数据库加载到内存中,性能更快,但使用的内存更多。
*``2`:检查更新的数据库。如果数据库已更新,请重新加载
filehandle和/或内存缓存。
*``4`:只缓存
数据库中最常访问的索引部分,从而比"geoip标准"更快地查找,但比"geoip内存缓存"更少的内存使用量-有用对于大型数据库
,例如geoip组织和geoip城市。注意,对于geoip country,
region和netspeed数据库,``geoip`index`u cache``等同于
``geoip`memory`u cache``。*default*
*`` default_tracking_template``:生成
访问者映射时要使用的模板。默认为"tracking/visitor_map.html`.
完成后,您应该可以转到站点上的"`/tracking/map/`"(用您在urlconf中选择使用的任何前缀替换"`tracking`",很明显,
)。默认温度Late依赖于jquery的强大功能,但是
您可以自由使用任何您想要的东西。
用法
=
显示您的一个模板中的活动用户数,确保模板中某处有`{%load tracking_tags%}`并执行如下操作:
{%visitors_on_site as visitors%}
<;p>;
{{visitors}}活动用户{visitors{pluralize}
<;p>;
阅读此页
<;/p>;
如果不希望跟踪站点的特定区域,可以使用"无跟踪"前缀在"settings.py"中定义前缀列表。对于
示例,如果您不想访问网站的`/family/``部分,
请将``no-tracking`前缀``设置为`[/family/`````.
如果您不想计算某些用户代理,例如Yahoo!'s slurp和
google的googlebot,您可以在
django管理界面中将关键字添加到访问者跟踪中。查找"未跟踪的用户代理",并添加区分特定用户代理的
关键字。不会跟踪用户代理字符串中包含
关键字的任何访问者。
默认情况下,活动用户包括最近10分钟内的任何访问者。如果要覆盖该设置,只需在"settings.py"中将"tracking_timeout"设置为所需的"many minutes"。
如果要覆盖该设置,请将
``tracking_cleanup_timeout``设置为
``settings.py``中所需的小时数。
https://github.com/codekoala/django tracking/contributors>;`.
…图片::https://img.shields.io/pypi/v/django tracking.svg
:目标:https://pypi.python.org/pypi/django tracking/
…图片::https://img.shields.io/pypi/dm/django tracking.svg
:目标:https://pypi.python.org/pypi/django tracking/
…图片::https://img.shields.io/github/license/bashu/django tracking.svg
:目标:https://pypi.python.org/pypi/django tracking/
……图片::https://landscape.io/github/bashu/django-tracking/develop/landscape.svg?style=flat
:target:https://landscape.io/github/bashu/django tracking/develop
features
--
*跟踪有关访问者的以下信息:
*会话密钥
*IP地址
*用户代理
*无论他们是否是注册用户和登录
*他们来自何方(http-referer)
*他们上次访问您网站上的哪个页面
*他们访问过您网站上的多少页面
*允许用户代理筛选访问者跟踪
*自动清理旧访问者记录
*可以禁止某些IP地址,使站点对来自
那些IP的访问者无效(非常适合阻止垃圾邮件)
*在您的站点上有活动用户的实时源
*模板标记到:
*显示站点上有多少活动用户
*确定站点上有多少活动用户在您的站点中的同一页
*可选的"活动访问者地图",以查看访问者在世界上的位置
要求
====
,据我所知,django跟踪工作的唯一要求是django的现代版本。我开发了django 1.0alpha 2和
beta1的项目。它是为使用新表单管理功能而设计的。
您需要安装"geoip c api library"
<;http://geolite.maxmind.com/download/geoip/api/c/geoip.tar.gz>;` ` ` ` `.
您可能需要获取"geolite city binary"
<;http://www.maxmind.com/app/geolitecity>;` ` ` ` `,除非您是付费的maxmind
客户。这是"django tracking"用来将
ip转换为地球上某个位置的数据文件。稍后将讨论如何配置此功能。
http://pypi.python.org/pypi/codingsoho-tracking/>;``或使用:
下载并安装``codingsoho-tracking``.
轻松安装
----
http://pypi.python.org/pypi/codingsoho跟踪/>;`或者使用::
easy_install codingsoho tracking
http://bitbucket.org/hordechief/codingsoho-tracking
git clone http://github.com/hordechief/codingsoho-tracking.git
package download
===
记住。
配置操作
===
首先,必须将此项目添加到
``settings.py``中的"已安装的应用程序"列表:
installed的应用程序=(
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',,
"django.contrib.sessions"、
"django.contrib.sites"、
…
"tracking"、
…
)
运行"manage.py syncdb"。这将在数据库中创建一些操作所必需的表。
具体取决于您希望如何使用此应用程序,您有几个选项:
visitor tracking
----
将"tracking.middleware.visitorrackingmiddleware"添加到"settings.py"中的"middleware"类中。它必须在
``authenticationmiddleware```的下面,这样就存在``request.user``了。
将"tracking.middleware.visitorcleanupmidleware"放在
``中间件类``.
将"tracking.middleware.bannedipmidleware"添加到"settings.py``中间件类`
中。我建议把它作为
``中间件类``中的第一项,这样在django意识到它们不属于您的站点之前,您的被禁止用户就不必钻取任何
其他中间件。
标记)
--------
确保"django.core.context_processors.request"位于
"template_context_processors"元组中的某个位置。此上下文处理器使模板可以访问
``request``对象。此应用程序使用
``request``对象来确定用户在模板
标记中查看的页面。
地图功能。确保您已经在主urlconf中添加了一行
,如下所示:
from django.conf.urls.defaults import*
(r'^tracking/',include('tracking.urls'),
…
next,在"settings.py"中设置两个设置:
*``google-maps-key```:您自己的google-maps-api-key
*``tracking-use-geoip```:如果您想在
地图上看到标记,请将其设置为"true":将其设置为
`` geoip.dat``或'geoicity.dat``或任何文件。它通常是
类似于`/usr/local/share/geoip.dat``或`/usr/share/geoip/geoip.dat`.
*``geoip缓存类型``:处理geoip数据时要使用的缓存类型:
*``0`:从文件系统读取数据库,使用最少的内存。
*``1`:将数据库加载到内存中,性能更快,但使用的内存更多。
*``2`:检查更新的数据库。如果数据库已更新,请重新加载
filehandle和/或内存缓存。
*``4`:只缓存
数据库中最常访问的索引部分,从而比"geoip标准"更快地查找,但比"geoip内存缓存"更少的内存使用量-有用对于大型数据库
,例如geoip组织和geoip城市。注意,对于geoip country,
region和netspeed数据库,``geoip`index`u cache``等同于
``geoip`memory`u cache``。*default*
*`` default_tracking_template``:生成
访问者映射时要使用的模板。默认为"tracking/visitor_map.html`.
完成后,您应该可以转到站点上的"`/tracking/map/`"(用您在urlconf中选择使用的任何前缀替换"`tracking`",很明显,
)。默认温度Late依赖于jquery的强大功能,但是
您可以自由使用任何您想要的东西。
用法
=
显示您的一个模板中的活动用户数,确保模板中某处有`{%load tracking_tags%}`并执行如下操作:
{%visitors_on_site as visitors%}
<;p>;
{{visitors}}活动用户{visitors{pluralize}
<;p>;
阅读此页
<;/p>;
如果不希望跟踪站点的特定区域,可以使用"无跟踪"前缀在"settings.py"中定义前缀列表。对于
示例,如果您不想访问网站的`/family/``部分,
请将``no-tracking`前缀``设置为`[/family/`````.
如果您不想计算某些用户代理,例如Yahoo!'s slurp和
google的googlebot,您可以在
django管理界面中将关键字添加到访问者跟踪中。查找"未跟踪的用户代理",并添加区分特定用户代理的
关键字。不会跟踪用户代理字符串中包含
关键字的任何访问者。
默认情况下,活动用户包括最近10分钟内的任何访问者。如果要覆盖该设置,只需在"settings.py"中将"tracking_timeout"设置为所需的"many minutes"。
如果要覆盖该设置,请将
``tracking_cleanup_timeout``设置为
``settings.py``中所需的小时数。