Google Static Maps in a feed: Referer problem

June 7th, 2008

I've successfully embedded Google Static Maps in an RSS feed that I'm working on, and it displays great in standalone feed readers. Unfortunately, if someone tries to subscribe to my feed using a web-based reader/aggregator (such as Google Reader), my images don't show up. Presumably, the referer of the aggregator website is sent to maps.google.com, which rejects the request as not matching my API key.

Read full entry »

Proposal: Automatic verification of email address ownership

January 14th, 2008

Many sites require email verification to prevent impersonation by spammers (and to ensure that a user can retrieve their password, should they forget it.) Since this practice is a bit of a hassle for the user and does not require any thought on the user's part (sign into email, see registration email, click link), it should be automated. I've written a proposal of how to implement this.

Read full entry »

Webapp security: Different DB permissions for different requests

January 12th, 2008

When a GET hits your server, your RESTful webapp should not alter the database. Why not enforce this at the permissions level?

Read full entry »

No-hassle IE movie embedding

October 5th, 2007

Due to a lawsuit by Eolas against Microsoft, Internet Explorer (both 6 and 7) is not allowed to auto-load movies, flash, and other plugins. The effect is that users must click an empty area with a gray outline to load the content or start interacting with it. The standard approach to route around this usability fiasco is to dynamically load the <object> and <embed> tags with javascript. Here I present an easier, more readable, and unobtrusive technique for embedding content in IE6 and IE7.

Read full entry »

Odd Apache pitfall: ErrorDocument and POST

August 12th, 2007

I am writing a web app that hides much of its inner workings, as any good web app should. (Why? future-proofing, security, simplicity of user experience, etc.) I chose to route all requests that involve server-side scripting through a single file, capture.php. But somewhere along the way, form POSTs stopped working! Why?

Read full entry »