[whatwg] Canvas - toTempURL - A dangerous proposal
Charles Pritchard
chuck at jumis.com
Fri Mar 27 16:38:42 PDT 2009
toTempURL( format ) returns <string> temporary file path.
I'd like to solicit feedback from the community about a work-around
we're [likely] including
in one of our Internet Explorer Canvas implementations.
Legacy clients may have terrible support for extensibility. I think we
know which clients I'm referring to.
toDataURL is a wonderful, powerful tool and we love it.
However, with some HTML consumers, base 64 encoded images are not usable
in the global scope.
To get around this, we are using toTempURL(), to save an image to the
local Temporary Internet files directory.
Then, we can do <img src="">, or set CSS background: url's, and do other
such wonderful things.
In browsers that support base64 encoding, we simply have toTempURL
aliased to toDataURL();
The draw back of this scheme is that Canvas can now write to a users
hard drive.
A Denial of Service exploit could run toTempURL in an infinite loop,
filling up
the users temporary files directory until the browser puts a stop to the
sillyness.
The temporary files directory is intended to be used, to store temporary
internet files.
But its use (as far as I know) is limited by the client's available
bandwidth.
With toTempURL, its use (in Megs/Second) would only be limited by the
client's
computing speed (and hopefully, the browser).
I'd like some feedback. I'd like a decent method of limiting a DOS
exploit of toTempURL()
while proposing it as a possible extension to the standard.
-Charles
More information about the whatwg
mailing list