[aur-general] spam in out-of-date notifications for [community] packages
Aaron Griffin
aaronmgriffin at gmail.com
Tue Oct 6 13:11:51 EDT 2009
On Wed, Sep 30, 2009 at 4:47 AM, Evangelos Foutras <foutrelis at gmail.com> wrote:
> Aaron Griffin wrote:
>>
>> On Tue, Sep 29, 2009 at 10:18 AM, Chris Brannon <cmbrannon79 at gmail.com>
>> wrote:
>>
>>>
>>> It seems that someone is sending spam via out-of-date notifications
>>> for packages in the official repos.
>>> How do I clear the out-of-date flag on my packages these days?
>>> I can't seem to be able to do that with the new interface.
>>>
>>
>> Yeah, this happens, and we haven't really found a good solution to
>> this spam problem. I guess we could ban the IP address...
>>
>> If anyone has an idea to solve the spam issue that's not super
>> intrusive, the code (archweb_pub) is publicly available :)
>>
>
> This is a technique I've read somewhere, though I've never tried it on a
> live site. Super unobtrusive and quite elegant. Should catch most bots too.
>
> From 9f55ad4586905bb8f3565b8a363496c57242e2a1 Mon Sep 17 00:00:00 2001
> From: Evangelos Foutras <foutrelis at gmail.com>
> Date: Wed, 30 Sep 2009 12:41:31 +0300
> Subject: [PATCH] Add hidden field to prevent bots from flagging pkg
>
> Technique detailed at http://www.wwohn.com/captcha-alternatives/ (The
> first bullet under "Non interactive alternatives").
> ---
> packages/views.py | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/packages/views.py b/packages/views.py
> index e5e2c8b..99bdbd6 100644
> --- a/packages/views.py
> +++ b/packages/views.py
> @@ -136,6 +136,10 @@ class FlagForm(forms.Form):
> email = forms.EmailField(label='* E-mail Address')
> usermessage = forms.CharField(label='Message To Dev',
> widget=forms.Textarea, required=False)
> + # The field below is used to filter out bots that blindly fill out all
> input elements
> + website = forms.CharField(label='',
> + widget=forms.TextInput(attrs={'style': 'display:none;'}),
> + required=False)
>
> def flag(request, pkgid):
> pkg = get_object_or_404(Package, id=pkgid)
> @@ -146,7 +150,7 @@ def flag(request, pkgid):
>
> if request.POST:
> form = FlagForm(request.POST)
> - if form.is_valid():
> + if form.is_valid() and form.cleaned_data['website'] == '':
> # flag all architectures
> pkgs = Package.objects.filter(
> pkgname=pkg.pkgname, repo=pkg.repo)
I merged and pushed this patch. It's not live, but it will be when we
next push out the archweb code.
Thanks!
More information about the aur-general
mailing list