removed blacklist things
This commit is contained in:
parent
d773cba908
commit
62c84570cc
@ -4,7 +4,7 @@ from django.contrib import admin
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .models import Hit, HitCount, BlacklistIP, BlacklistUserAgent
|
||||
from .models import Hit, HitCount
|
||||
|
||||
|
||||
class HitAdmin(admin.ModelAdmin):
|
||||
@ -31,36 +31,6 @@ class HitAdmin(admin.ModelAdmin):
|
||||
del actions['delete_selected']
|
||||
return actions
|
||||
|
||||
def blacklist_ips(self, request, queryset):
|
||||
for obj in queryset:
|
||||
ip, created = BlacklistIP.objects.get_or_create(ip=obj.ip)
|
||||
if created:
|
||||
ip.save()
|
||||
msg = _("Successfully blacklisted %d IPs") % queryset.count()
|
||||
self.message_user(request, msg)
|
||||
blacklist_ips.short_description = _("Blacklist selected IP addresses")
|
||||
|
||||
def blacklist_user_agents(self, request, queryset):
|
||||
for obj in queryset:
|
||||
ua, created = BlacklistUserAgent.objects.get_or_create(
|
||||
user_agent=obj.user_agent)
|
||||
if created:
|
||||
ua.save()
|
||||
msg = _("Successfully blacklisted %d User Agents") % queryset.count()
|
||||
self.message_user(request, msg)
|
||||
blacklist_user_agents.short_description = _("Blacklist selected User Agents")
|
||||
|
||||
def blacklist_delete_ips(self, request, queryset):
|
||||
self.blacklist_ips(request, queryset)
|
||||
self.delete_queryset(request, queryset)
|
||||
blacklist_delete_ips.short_description = _(
|
||||
"Delete selected hits and blacklist related IP addresses")
|
||||
|
||||
def blacklist_delete_user_agents(self, request, queryset):
|
||||
self.blacklist_user_agents(request, queryset)
|
||||
self.delete_queryset(request, queryset)
|
||||
blacklist_delete_user_agents.short_description = _(
|
||||
"Delete selected hits and blacklist related User Agents")
|
||||
|
||||
def delete_queryset(self, request, queryset):
|
||||
if not self.has_delete_permission(request):
|
||||
@ -88,15 +58,3 @@ class HitCountAdmin(admin.ModelAdmin):
|
||||
return False
|
||||
|
||||
admin.site.register(HitCount, HitCountAdmin)
|
||||
|
||||
|
||||
class BlacklistIPAdmin(admin.ModelAdmin):
|
||||
pass
|
||||
|
||||
admin.site.register(BlacklistIP, BlacklistIPAdmin)
|
||||
|
||||
|
||||
class BlacklistUserAgentAdmin(admin.ModelAdmin):
|
||||
pass
|
||||
|
||||
admin.site.register(BlacklistUserAgent, BlacklistUserAgentAdmin)
|
||||
|
@ -0,0 +1,19 @@
|
||||
# Generated by Django 2.1.2 on 2018-10-30 17:50
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('hitcount', '0002_index_ip_and_session'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name='BlacklistIP',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='BlacklistUserAgent',
|
||||
),
|
||||
]
|
@ -155,34 +155,6 @@ class Hit(models.Model):
|
||||
super(Hit, self).delete()
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class BlacklistIP(models.Model):
|
||||
|
||||
ip = models.CharField(max_length=40, unique=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "hitcount_blacklist_ip"
|
||||
verbose_name = _("Blacklisted IP")
|
||||
verbose_name_plural = _("Blacklisted IPs")
|
||||
|
||||
def __str__(self):
|
||||
return '%s' % self.ip
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class BlacklistUserAgent(models.Model):
|
||||
|
||||
user_agent = models.CharField(max_length=255, unique=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "hitcount_blacklist_user_agent"
|
||||
verbose_name = _("Blacklisted User Agent")
|
||||
verbose_name_plural = _("Blacklisted User Agents")
|
||||
|
||||
def __str__(self):
|
||||
return '%s' % self.user_agent
|
||||
|
||||
|
||||
class HitCountMixin(object):
|
||||
"""
|
||||
HitCountMixin provides an easy way to add a `hit_count` property to your
|
||||
|
@ -8,7 +8,7 @@ from django.conf import settings
|
||||
from django.views.generic import View, DetailView
|
||||
|
||||
from hitcount.utils import get_ip
|
||||
from hitcount.models import Hit, HitCount, BlacklistIP, BlacklistUserAgent
|
||||
from hitcount.models import Hit, HitCount
|
||||
from hitcount.utils import RemovedInHitCount13Warning
|
||||
|
||||
|
||||
@ -49,16 +49,7 @@ class HitCountMixin(object):
|
||||
hits_per_ip_limit = getattr(settings, 'HITCOUNT_HITS_PER_IP_LIMIT', 0)
|
||||
exclude_user_group = getattr(settings, 'HITCOUNT_EXCLUDE_USER_GROUP', None)
|
||||
|
||||
# first, check our request against the IP blacklist
|
||||
if BlacklistIP.objects.filter(ip__exact=ip):
|
||||
return UpdateHitCountResponse(
|
||||
False, 'Not counted: user IP has been blacklisted')
|
||||
|
||||
# second, check our request against the user agent blacklist
|
||||
if BlacklistUserAgent.objects.filter(user_agent__exact=user_agent):
|
||||
return UpdateHitCountResponse(
|
||||
False, 'Not counted: user agent has been blacklisted')
|
||||
|
||||
|
||||
# third, see if we are excluding a specific user group or not
|
||||
if exclude_user_group and is_authenticated_user:
|
||||
if user.groups.filter(name__in=exclude_user_group):
|
||||
|
Loading…
x
Reference in New Issue
Block a user