Cleaning up and Preventing HTTP Injection Attacks

I recently had the (undesired) opportunity to learn about HTTP and SQL injection attacks. It took a great deal of effort to diagnose and clean up, but hopefully what I learned from the experience may help you prevent these attacks on your own site or clean up after such an attack.

I first found out my site had been compromised because one of the subdomains started displaying “403” errors (permission denied) and one of the users notified me that the site could no longer be reached. At this time, the rest of the site seemed fine, so I had not noticed anything was wrong with it myself.

On examining the subdomain files, it turned out that the .htaccess file had some new directives written into it, which had the effect of blocking all access to the site. When I further examined the file, it appeared that the actual intent had been to redirect only the users that arrived at the site through a search engine, while allowing direct visitors to see the site as usual.

Continue reading

Autism – anecdotal evidence and possible link to gastrointestinal infection

Research on the causes of autism is still at the stage where many etiologies seem possible. Althought a genetic link is likely, it may play a role of predisposition to another factor rather than being the only necessary and sufficient cause of autism.

One such connection being explored is the role of gastrointestinal infections in promoting autistic type behaviors.

This blog entry written by an occupational therapist refers to improvement in a young patient’s autistic type behaviors after she was treated for a Clostridium Bacteria infection.

Continue reading

A workaround for the lack of trigger animations in Keynote

One Powerpoint feature that Keynote does not yet have is animation triggers. In Powerpoint, you can set an animation to be triggered when a particular object elsewhere on the slide is clicked. This can be used to create interactivity for web-based elearning, or perhaps for presentations where there is some interaction from the audience and the exact sequence of clicks is not figured out in advance.

A workaround to create a trigger effect is to make the triggers into hyperlinks that link to slides that look identical to the slide containing the trigger, but which contain the response animation. For each trigger, there will be a corresponding animation slide. The animations are set to begin “after transition” or in other words, right after the slide loads.

Continue reading

Getting the WYSIWYG module to work in Drupal 6

I had a lot of trouble getting TinyMCE text editor to work consistently in Drupal 5.9, so when I installed Drupal 6 and was scanning through the available modules, I was very glad to see that the WYSIWYG editor module could function as a replacement.

wysiwygEntire.png

Although the easy-to-use WYSIWYG editor is popular with our site’s users, sometimes I find it gets in the way, and want to turn it off.
disableWysiwyg.png

Continue reading

Drupal multisite – symlinking, a key step

Setting up a multisite system is very easy with Drupal and is well documented both in the settings.php file and in the multi-site section of the handbook on Drupal.org. However there is one step that is usually left out of the instructions or mentioned only in passing, and it requires SSH access. You must create a symlink from the folders your multi-sites will be accessed at to the actual folder that the Drupal core files reside in.

So if you will have several sites like:

http://yoursite.com/site1
(the core files are located here)
and you want a second and third site to be accessed at

http://yoursite.com/site2
and
http://yoursite.com/site3

then you must create symlinks from site2 and site3 that point to site1.

Continue reading

GooberGuide to Adobe Captivate

I got a chance to take a look at a new Captivate eBook the other day, GooberGuides – Captivate Tips & Tricks,” and I really wish I’d had this months ago. Captivate Tips and Tricks is a compendium of all the time-saving answers the other books never tell you. For example the tip on how to use wildcard text in text entry boxes would have been well worth the modest price of the ebook when I ran into that problem on a recent project.

ebook.jpg

The chapter on preventing project corruption is brief but extremely useful. If you’ve worked with Captivate for a while, you’ve probably corrupted a project. The tips in this chapter should be on the opening splash screen when you first launch Captivate.

Continue reading

dotProject Recipe: Add journal entries from the project view page

NOTE (07-02-08): The modified Journal module has now been updated to work with v. 2.x of dotProject.

J. Christopher Pereira created a journal module which is quite handy: it lets you add notes to projects – any type of note, without creating a task.

The module is very useful, but a coworker requested that we modify it so you could add a journal note without ever leaving the project view page. Instead of a new window opening to enter the journal note, you simply enter the note into a text box that is always visible on the project view page.

You just enter text in the new text field, hit “save”…

Continue reading