I like the general idea (this would also get rid of the problem that,
right now, it's unnecessarily hard for authors to show idempotent and
non-idempotent actions in a unified visual style), though this would
also present serious security vulnerabilities, especially in forum pages.

There are quite a number of older web forums that sanitize their HTML
using black lists and would not strip new attributes like "post-data".
For malicious users, it would be very easy to include e.g. <img
src="./do_post.php" post-data="thread_id=42&post_content=Go visit (some
spam URL)"> in their signature and have users doing involuntary posts by
simply viewing a thread.

A possible remedy could be to have the page author "opt in" to that
feature, e.g. with a special meta tag. If the meta tag is not present,
the post-data attribute would be ignored.

Another problem is what to do with context menu entries like "copy link
location"/"copy image location" etc. Maybe links/images with post-data
could be treated like <input> elements regarding their context menu.

Regards,
Philipp Serafin

On 09.12.2010 20:04, Ashley Sheridan wrote:
> On Thu, 2010-12-09 at 11:01 -0800, Adam Barth wrote:
>> We've seen use cases for a similar feature for iframes and hyperlinks.
>>  For example:
>>
>> <a href="/logout" post-data>Logout</a>
>>
>> would be more semantically correct that just <a
>> href="/logout">Logout</a> because it would generate a POST instead of
>> a GET.
>>
>> Adam
>>
>>
>> On Thu, Dec 9, 2010 at 10:59 AM, Martin Janecke <[email protected] 
>> <mailto:[email protected]>> wrote:
>> > Hi all,
>> >
>> > What is your opinion on enabling the HTTP POST method for the img element? 
>> > The motivation behind this is that there are services which generate 
>> > images automatically based on parameters given -- nowadays provided as 
>> > query string in a GET request -- for inclusion in web pages. I've listed 
>> > examples below. However, these query strings can get really long and it 
>> > seems to me that the HTTP POST method would be more appropriate than the 
>> > GET method for such services. Not only because it would better match the 
>> > intended use of these methods (see 
>> > http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9), but also for 
>> > practical reasons: URLs in GET requests are (inconsistently) limited in 
>> > length by browsers and server software, which limits these services 
>> > (inconsistently). And long URLs bloat server logs.
>> >
>> > This could be implemented with an optional attribute, e.g. "post-data". 
>> > The client would request the source using the POST method if the attribute 
>> > is present and send the attribute's value as the request's message body.
>> >
>> > Martin
>> >
>> > PS: This doesn't necessarily need to be restricted to img elements. If you 
>> > encountered use cases for other elements that embed content, feel free to 
>> > add them.
>> >
>> >
>> > === Example/Use Cases ===
>> >
>> > (1) MimeTeX and MathTeX are used to display mathematical formulae in web 
>> > pages. This is often used in science forums. Info:
>> >
>> > http://www.forkosh.com/mathtex.html
>> > http://www.forkosh.com/mimetex.html
>> >
>> > Current use in web pages:
>> >
>> > <img 
>> > src="http://www.forkosh.dreamhost.com/mathtex.cgi?\begin{align}%0D%0A\Gamma(z)%20%26%3D%20\lim_{n\to\infty}\frac{n!\;n^z}{z\;(z%2B1)\cdots(z%2Bn)}%20%3D%20\frac{1}{z}\prod_{n%3D1}^\infty\frac{\left(1%2B\frac{1}{n}\right)^z}{1%2B\frac{z}{n}}%20\\%0D%0A\Gamma(z)%20%26%3D%20\frac{e^{-\gamma%20z}}{z}\prod_{n%3D1}^\infty\left(1%2B\frac{z}{n}\right)^{-1}e^{z/n}%0D%0A\end{align
>> >  
>> > <http://www.forkosh.dreamhost.com/mathtex.cgi?%5Cbegin%7Balign%7D%0D%0A%5CGamma%28z%29%20%26%3D%20%5Clim_%7Bn%5Cto%5Cinfty%7D%5Cfrac%7Bn%21%5C;n%5Ez%7D%7Bz%5C;%28z%2B1%29%5Ccdots%28z%2Bn%29%7D%20%3D%20%5Cfrac%7B1%7D%7Bz%7D%5Cprod_%7Bn%3D1%7D%5E%5Cinfty%5Cfrac%7B%5Cleft%281%2B%5Cfrac%7B1%7D%7Bn%7D%5Cright%29%5Ez%7D%7B1%2B%5Cfrac%7Bz%7D%7Bn%7D%7D%20%5C%5C%0D%0A%5CGamma%28z%29%20%26%3D%20%5Cfrac%7Be%5E%7B-%5Cgamma%20z%7D%7D%7Bz%7D%5Cprod_%7Bn%3D1%7D%5E%5Cinfty%5Cleft%281%2B%5Cfrac%7Bz%7D%7Bn%7D%5Cright%29%5E%7B-1%7De%5E%7Bz/n%7D%0D%0A%5Cend%7Balign>}"
>> >  alt="gamma function definition">
>> >
>> > Possible future use:
>> >
>> > <img src="http://www.forkosh.dreamhost.com/mathtex.cgi"; 
>> > post-data="\begin{align}%0D%0A\Gamma(z)%20%26%3D%20\lim_{n\to\infty}\frac{n!\;n^z}{z\;(z%2B1)\cdots(z%2Bn)}%20%3D%20\frac{1}{z}\prod_{n%3D1}^\infty\frac{\left(1%2B\frac{1}{n}\right)^z}{1%2B\frac{z}{n}}%20\\%0D%0A\Gamma(z)%20%26%3D%20\frac{e^{-\gamma%20z}}{z}\prod_{n%3D1}^\infty\left(1%2B\frac{z}{n}\right)^{-1}e^{z/n}%0D%0A\end{align}"
>> >  alt="gamma function definition">
>> >
>> >
>> > (2) QR-Code generators encode texts or URLs in a way that can be easily 
>> > read by devices such as cell phones with built-in cameras. Info and 
>> > generator:
>> >
>> > http://qrcode.kaywa.com/
>> >
>> > Current use in web pages:
>> >
>> > <img 
>> > src="http://qrcode.kaywa.com/img.php?s=8&d=Ah%2C%20distinctly%20I%20remember%20it%20was%20in%20the%20bleak%20December%2C%0D%0AAnd%20each%20separate%20dying%20ember%20wrought%20its%20ghost%20upon%20the%20floor
>> >  
>> > <http://qrcode.kaywa.com/img.php?s=8&d=Ah%2C%20distinctly%20I%20remember%20it%20was%20in%20the%20bleak%20December%2C%0D%0AAnd%20each%20separate%20dying%20ember%20wrought%20its%20ghost%20upon%20the%20floor>."
>> >  alt="qrcode">
>> >
>> > Possible future use:
>> >
>> > <img src="http://qrcode.kaywa.com/img.php"; 
>> > post-data="s=8&d=Ah%2C%20distinctly%20I%20remember%20it%20was%20in%20the%20bleak%20December%2C%0D%0AAnd%20each%20separate%20dying%20ember%20wrought%20its%20ghost%20upon%20the%20floor."
>> >  alt="qrcode">
>> >
>> >
>
>
> It makes sense in the case of a link like that, as it is changing some
> state on the server, which is what POST data was intended to do. If
> images are called with POST data, then that would prevent them being
> cached, which can be done with GET as GET isn't meant to change any
> state on the server, meaning potentially a lot more traffic to save
> some log files from getting a bit big.
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>

Reply via email to