Suppose you could check every visitor to your blog to see if he or she ( or 'it' in case of a bot ) happens to be a known spammer? And for instance automatically block the ability to add a comment for this visitor?
That is exactly what this plug-in does. And more.
(Click the cop icon to the left here to see what it has done for this site already. The data is realtime by the way...)
Do a quick check and open my contact page. If you get a warning message instead of a form, your ip address is listed with Project Honeypot...
The plugin makes use of the services of the excellent Project Honeypot initiative. Every visitor is checked against their huge database and returns the info you need. Eg. is it a comment spammer, or is it a harvester? Is it merely a suspicious IP ? When was it last caught doing shady things on the net?
You decide, based on your configuration, what such a visitor is allowed to see and/or use on your blog. When the session variable 'session.spamstop.limitAccess' holds a value of 'true' you can redirect a visitor. Simple, no ?
Update: fixed a small typo in the installation instructions..
Every bad guy that visits your blog is also logged in the database, and included is a BlogCFC pod you can use to keep track of the number of spammers, harvesters, suspicious ip's and search engines that visited your blog.
|
|
|
How did you test that the call to the honeypot actually works? The website states that
<cfset aVal = gethostaddress("#hpkey#.#reverseip(arguments.ip)#.dnsbl.httpbl.org")>
Will only work with an Apache module, did you try your code with IIS? And if you didn't why did you not state this limitation on your website?
Also when you rename your components, make sure you update you install instructions.
Concept is good, but I am yet to see it work.
I am glad you like the plugin, but 'no worries mate!' when you are not 100 % satisfied you can get your money back.
Your comment about using IIS or Apache absolutely makes no sense whatsoever.
If you 'want to see it work' look a litte down this page.. See the SpamStop part on the bottom? See the numbers? Where I normally refuse to test any of my code and just release it right after hitting CTRL-S, this time I have actually gone through the painstaking process of testing what I wrote just to see if would work. All at no extra charge.
I'll have a look at he install instructions.
PS. This system runs on IIS, in case you want to further investigate the apache/IIS incompatibility thingy.
your ALTER TABLE command is currently addressing tblbloghoneypo
needs to be changed to tblbloghoneypot (the t is missing) on both lines
Fixed it.
Yes, I took the code you posted on mximize.com as a starting point. There are quite a few changes made to it, but the base is still the same. :-)
One more question. (And I know the answer is apparent, but I want to be certain).
If I simply want to block all access to the site to the "harvestors" will this code work?
<code>
<cfif not structKeyExists(session,"spamstop") or isDefined("url.reinit")>
<cfset session.spamstop = application.plugins.spamstop.honeypotcheck(cgi.remote_addr)>
<cfif session.spamstop.limitaccess="true">
<!--- only allow them to see my honeypot --->
<cfinclude template="honeypoturl.cfm">
<cfabort>
</cfif>
</cfif>
</code>
or should the code be outside of "cfif not structKeyExists"
Thanks again,
-john
You can test it, by obtaining a harvester ip address at the projecthoneypot.org website.
Replace cgi.remote_addr with the ip you copied from there and see what happens..
Don't forget to change it back though. :-)
So yes, it should be out side the stuctkeyexist, and instead be placed after it.
I'm thinking, if they return they'll have a different sessionid and this would keep the cfif statement from executing each time a "real visitor" loads a page.
just my thought.
Also, I sent an email and noted another bug in your code. The cfif sessioin.spamstop statement should be changed to eq instead of "=" in your instructions.
-john
As for the IIS thing I am going by the docs at honeypot, because you are doing a look up on "#hpkey#.#reverseip(arguments.ip)#.dnsbl.httpbl.org" and under IIS for me this always fails.
I guess when that line fails to me it was look further into the docs, and thats where I read the apache only thing.
For me that line posted above is the show stopper, it never connects to honeypot.
I have no idea why it stops execution on that line at yours. It has nothing to do with IIS that much I know... It seems the service cannot be reached from your server, is there maybe a proxy in between possibly, allthough that doesn't seem likely..
The problem points to a wrong setup of the server, not the code.
@Tjarko, yes I have tried the cfhttp and even tried it directly from the browser.
Where in your docs does it say I need to make DNS settings?
The plug-in I wrote does NOT make use of such a module. Never has, never will. Therefore the discussion about whether 'a module' is installed or not is pointless. :-)
You don't need to make specific DNS settings either. Tjarko probably meant that something else is amiss on the server you are running it from.
Nevertheless, the behavior on your machine is very interesting and if you have more info about what is happening, please let me know !
rssnewsdigestSUCKS.com
realwebnewsSUCKS.com
Just thought you would want to know.
This was so easy to implement, I thought I was doing it wrong! Thanks. I have a question though -- what if I want to implement this on multiple blogs that all live inside the same db? Would I need to add a "blogid" field to the table update, and to the pod display? I'm new to this world of CF so any thoughts are welcome and helpful! Thanks.
Amy