DevNewz News Archives About Us Feedback
Lowest Hosting Price on The Planet

Recent Articles

Preventing Direct Access To A CFC
Chad asks: I am using a CFC for an AJAX-based shopping cart and it works great. But along comes a customer who is behind a proxy. The proxy is trying to request the CFC through a GET request (instead...

Testing Your Code
I was asked to write a post about my views on unit testing because it is a hot subject at the moment. I'm very ambivalent about unit testing and always have been for many different reasons. Although testing is...

Money - A Good Measure Of OSS Success?
This comment from Stacey (Hyperic) got me thinking…is money a good measure of OSS success? Before I go on, let me clear something up. My 1.8% comment was...

ASP.NET Security: Remove The X-AspNet-Version...
I've always been a little annoyed by the fact that ASP.NET websites sends the version number as a HTTP header. For an ASP.NET 2.0 application this is added automatically to the headers and you cannot remove it from code.

A Scorpio Gem
Back in September last year, I listed my top four Scorpio wish list items. I couldn't come up with five at the time. Those four were: sftp support, proper command-line invocation of CFCs, the ability to archive CAR file...

Windows Live Commercial API Details
The Windows Live Dev news site details the new usage of the Windows Live API, which will let larger websites use the API beyond typical restrictions by paying for it. See, almost all web APIs have a limit of how many...

Contributor Agreements & Code Scrubbing
What happens when you read that "GPL Code Found In OpenBSD Wireless Driver" and "Google used rival's database ‘inadvertently‘" within a few days of each other? Well, I call up a friend/colleague in legal and...


07.30.07


ASP.NET - Trackback Spam Fighting

By Mads Kristensen

Recently, I joined the Subkismet project which is an open source stand-alone comment spam filtering library for ASP.NET web applications founded by Phil Haack.

My task is to write mechanisms for fighting trackback and pingback spam comments. More precisely, I will be writing two base classes for handling trackbacks and pingbacks that anyone can use in their own project.

Before I got actively involved in Subkismet, I wrote a short paper on the principles of trackback spam fighting. These principles were originally used for BlogEngine.NET and now also a part of Subkismet. When the classes are done I will port the updated code back to BlogEngine.NET again.

I thought that others might be able to make use of these principles and decided to share. Here it is:

Fight trackback spam

A trackback request is a standard POST request sent to a web server. It is similar to posting back a form on a webpage in that it also sends parameters with the request. These parameters are used by the receiver to handle the request and register the trackback. The parameters are:

id - the id of the post the request tries to send a trackback to
title - the title of the trackback
excerpt - the message the sender want to send to the receiver
blog_name - the name of the sending blog
url - the url of the sender's webpage containing the trackback link

Lowest Hosting Price on The Planet

To fight spammers, we can analyse many different things from the information received in the request parameters above. This document tries to provide a basic introduction into the analysis and what measures to take in case the sender is a spammer.

Confirm the sender

When a trackback request is sent to a trackback enabled website, the website has the ability to validate the sender before accepting the request. The sending website has to have a link to your website; otherwise it is not a valid trackback according to the specifications. To make sure that it does, you can follow these steps.

1: Trackback request received

2: Check the sending website for link

3: If link is confirmed, register the trackback.

4: If link is NOT confirmed, end the response and send HTTP status code 404.

The reason why the response has to end if the sender is not confirmed is because there is no point in telling the spammer whether or not we actually support trackbacks. The clever solution is to send a status code 404 back to the spammer, indicating that it makes no sense trying again because the trackback handler does not exist.

Continue reading this article.


About the Author:
Mads Kristensen currently works as a Senior Developer at Traceworks located in Copenhagen, Denmark. Mads graduated from Copenhagen Technical Academy with a multimedia degree in 2003, but has been a professional developer since 2000. His main focus is on ASP.NET but is responsible for Winforms, Windows- and web services in his daily work as well. A true .NET developer with great passion for the simple solution.

http://www.madskristensen.dk/


About DevNewz
DevNewz has assembled experts around the world to deliver helpful advice to application developers. Our in-house news staff focuses on keeping you updated with the latest new software and trends in application development. DevNewz provides Knowlege For Application Developers.

DevNewz is brought to you by:

SecurityConfig.com NetworkingFiles.com
NetworkNewz.com WebProASP.com
DatabaseProNews.com SQLProNews.com
ITcertificationNews.com SysAdminNews.com
LinuxProNews.com WirelessProNews.com
CProgrammingTrends.com ITmanagementNews.com


-- DevNewz is an iEntry, Inc. publication --
iEntry, Inc. 2549 Richmond Rd. Lexington KY, 40509
2007 iEntry, Inc.  All Rights Reserved  Privacy Policy  Legal

archives | advertising info | news headlines | free newsletters | comments/feedback | submit article


Knowlege For Application Developers DevNewz Home Page About Article Archive News Downloads WebProWorld Forums Jayde iEntry Advertise Contact