Wow! Umm... where to start? First things first, comments are now enabled
and working again! I've also implemented a few extra features to help
mitigate spam until I can get a captcha thing in place. There are a few
features working in tandem to keep an eye on spam - but here is the quick
overview: first thing, every page that allows you to enter comments has a
randomly generated unique key assigned to it, and that key is stored in
multiple places and encrypted - if this key changes you're out of luck
and have to refresh to get a new one... the other part is using the
www.projecthoneypot.org HTTP DNS blacklist. Every comment
submitted to this site has a check run on it using this service, so far
every bot that has hit my site, shows up in this list - so I think it's
pretty solid.
HTML code stripping is enabled for all of the entry fields, so good luck
and have fun getting around that. In fact, even though the editor shows
the image button, they are disabled for now until I write a handler that
will check the size of the image and force a resize if necessary.
I added some new code to the generating of the comment links on the
bottom of the posts. If you are viewing one post, they won't show (since
you're already viewing all of that), if you view one with less than 5
comments it gives you two options, view recent comments and leave a
comment, and if you view a post with more than 5, it gives you 3 options:
view recent, view all (# of comments), and leave a comment.
Jared has also requested an interesting feature, one I have seen around
but really have no idea how to go about implementing it. The feature
would be a "related posts" list for each entry (only when viewing that
particular entry). I really have no clue on how to approach this, but
then again - a week ago I had no clue how to do the archive list you see
on the left... hmm.
One last tidbit: when I was writing the comment adding code, I was about
to write the backend part to take care of validating and storing - but
apparently I had written that code about a month ago... I vaguely
remember doing that, but it was a nice relief to see that the code I was
about to write, was already written! Saved me about 30 - 50 minutes of
coding.