<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Secure web uploads</title>
	<atom:link href="http://tstarling.com/blog/2008/12/secure-web-uploads/feed/" rel="self" type="application/rss+xml" />
	<link>http://tstarling.com/blog/2008/12/secure-web-uploads/</link>
	<description>Web software development and Wikimedia</description>
	<lastBuildDate>Fri, 18 Dec 2009 09:35:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: morf</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-25</link>
		<dc:creator>morf</dc:creator>
		<pubDate>Sun, 21 Dec 2008 16:21:16 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-25</guid>
		<description>interesting tutorial about secure web upload

http://www.scanit.be/uploads/php-file-upload.pdf</description>
		<content:encoded><![CDATA[<p>interesting tutorial about secure web upload</p>
<p><a href="http://www.scanit.be/uploads/php-file-upload.pdf" rel="nofollow">http://www.scanit.be/uploads/php-file-upload.pdf</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-23</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Sun, 21 Dec 2008 02:39:27 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-23</guid>
		<description>I&#039;m concerned about it too, but I wasn&#039;t prepared to compromise on security for the purposes of IP rights. There&#039;s a number of defences you could use if the issue came up in court. 

One is that it&#039;s not a derivative work, it just happens to do the same thing. Since the creative elements of the original work, such as variable names, were not preserved in my work, copyright does not carry on. Also the control structures and order of operations were liberally rearranged in order to produce code that does the same thing, but is simpler than Microsoft&#039;s. This is the line I took in the file header.

Another is that it&#039;s fair use. My work is transformative in purpose, I&#039;m not using it to build a browser, I&#039;m using it to keep web uploads secure. It&#039;s a small excerpt of the original work. There is law that suggests that no excerpt from a computer program is small enough to count as fair use, but there&#039;s an argument that an exception can be made in this case on the basis of public good.</description>
		<content:encoded><![CDATA[<p>I&#8217;m concerned about it too, but I wasn&#8217;t prepared to compromise on security for the purposes of IP rights. There&#8217;s a number of defences you could use if the issue came up in court. </p>
<p>One is that it&#8217;s not a derivative work, it just happens to do the same thing. Since the creative elements of the original work, such as variable names, were not preserved in my work, copyright does not carry on. Also the control structures and order of operations were liberally rearranged in order to produce code that does the same thing, but is simpler than Microsoft&#8217;s. This is the line I took in the file header.</p>
<p>Another is that it&#8217;s fair use. My work is transformative in purpose, I&#8217;m not using it to build a browser, I&#8217;m using it to keep web uploads secure. It&#8217;s a small excerpt of the original work. There is law that suggests that no excerpt from a computer program is small enough to count as fair use, but there&#8217;s an argument that an exception can be made in this case on the basis of public good.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kelly Martin</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-22</link>
		<dc:creator>Kelly Martin</dc:creator>
		<pubDate>Sat, 20 Dec 2008 20:14:48 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-22</guid>
		<description>I&#039;m concerned about the copyright status of the code you wrote.  Under US law, at least, code you create derived from the disassembly of someone else&#039;s code counts as a derivative work, and so if this code becomes part of MediaWiki MediaWiki will potentially include code to which Microsoft, at a minimum, has third-party rights.  I&#039;m not sure what Australian law on this is, nor am I clear on whether Australian law being different would be of any relief to those who are subject to US law.  Still a touchy situation.</description>
		<content:encoded><![CDATA[<p>I&#8217;m concerned about the copyright status of the code you wrote.  Under US law, at least, code you create derived from the disassembly of someone else&#8217;s code counts as a derivative work, and so if this code becomes part of MediaWiki MediaWiki will potentially include code to which Microsoft, at a minimum, has third-party rights.  I&#8217;m not sure what Australian law on this is, nor am I clear on whether Australian law being different would be of any relief to those who are subject to US law.  Still a touchy situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: morf</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-17</link>
		<dc:creator>morf</dc:creator>
		<pubDate>Wed, 17 Dec 2008 20:46:59 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-17</guid>
		<description>Thanks! Please write more about upload, for example upload of big files, temporary storing, deleting, resume upload, progress bar, rapidshare-like upload, DOS prevention etc...

best regards</description>
		<content:encoded><![CDATA[<p>Thanks! Please write more about upload, for example upload of big files, temporary storing, deleting, resume upload, progress bar, rapidshare-like upload, DOS prevention etc&#8230;</p>
<p>best regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-16</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Wed, 17 Dec 2008 03:18:22 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-16</guid>
		<description>It&#039;s automated already, you don&#039;t see me checking each upload to wikipedia.org by hand, do you?

Just because Lynx says something is valid HTML doesn&#039;t mean Java won&#039;t allow it as a JAR file. As Nathan puts it, a file can have multiple types. Each client makes up its own rules for what it&#039;s going to accept and what it won&#039;t, and it&#039;s possible to exploit the differences in those rules to produce a file that looks like one type to one browser, and another type to another browser.</description>
		<content:encoded><![CDATA[<p>It&#8217;s automated already, you don&#8217;t see me checking each upload to wikipedia.org by hand, do you?</p>
<p>Just because Lynx says something is valid HTML doesn&#8217;t mean Java won&#8217;t allow it as a JAR file. As Nathan puts it, a file can have multiple types. Each client makes up its own rules for what it&#8217;s going to accept and what it won&#8217;t, and it&#8217;s possible to exploit the differences in those rules to produce a file that looks like one type to one browser, and another type to another browser.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Garrett</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-15</link>
		<dc:creator>Andrew Garrett</dc:creator>
		<pubDate>Wed, 17 Dec 2008 03:12:01 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-15</guid>
		<description>&quot;It’s also worth considering moving all uploads to a directory not publicly accessible, then using a download script to get the files; this makes it easier to implement stats, and more over no matter how malicious any file is, you never need worry as the file will never be executed, simply sent right back to the client.&quot;

This avoids the server-side scripting issues described in the first section, but none of the client-side Cross-Site Scripting issues which make up the majority of the post, unless you set the Content-Disposition and Content-Type headers appropriately.</description>
		<content:encoded><![CDATA[<p>&#8220;It’s also worth considering moving all uploads to a directory not publicly accessible, then using a download script to get the files; this makes it easier to implement stats, and more over no matter how malicious any file is, you never need worry as the file will never be executed, simply sent right back to the client.&#8221;</p>
<p>This avoids the server-side scripting issues described in the first section, but none of the client-side Cross-Site Scripting issues which make up the majority of the post, unless you set the Content-Disposition and Content-Type headers appropriately.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-14</link>
		<dc:creator>Bill</dc:creator>
		<pubDate>Tue, 16 Dec 2008 17:50:18 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-14</guid>
		<description>Wow, that must have been a lot of work. Wouldn&#039;t it have been easier to just do an automated test on the files? If its marked as htm, send it to lynx verifying its somewhat valid html. If its a picture, send it through image magic to make sure.  Ect, Ect,</description>
		<content:encoded><![CDATA[<p>Wow, that must have been a lot of work. Wouldn&#8217;t it have been easier to just do an automated test on the files? If its marked as htm, send it to lynx verifying its somewhat valid html. If its a picture, send it through image magic to make sure.  Ect, Ect,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yeti</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-13</link>
		<dc:creator>Yeti</dc:creator>
		<pubDate>Tue, 16 Dec 2008 17:19:46 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-13</guid>
		<description>Awesome, keep up the good work!</description>
		<content:encoded><![CDATA[<p>Awesome, keep up the good work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jack Herrick</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-12</link>
		<dc:creator>Jack Herrick</dc:creator>
		<pubDate>Tue, 16 Dec 2008 16:48:06 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-12</guid>
		<description>Nice post Tim.  Thanks for sharing the info.

Now I&#039;m really starting to feel like the only person in wiki land without a blog though.  ;)</description>
		<content:encoded><![CDATA[<p>Nice post Tim.  Thanks for sharing the info.</p>
<p>Now I&#8217;m really starting to feel like the only person in wiki land without a blog though.  <img src='http://tstarling.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Developer Day &#187; Blog Archive &#187; Advice to MySQL, Secure file uploads &#38; more</title>
		<link>http://tstarling.com/blog/2008/12/secure-web-uploads/comment-page-1/#comment-11</link>
		<dc:creator>The Developer Day &#187; Blog Archive &#187; Advice to MySQL, Secure file uploads &#38; more</dc:creator>
		<pubDate>Tue, 16 Dec 2008 15:36:55 +0000</pubDate>
		<guid isPermaLink="false">http://tstarling.com/blog/?p=4#comment-11</guid>
		<description>[...] Handling secure web uploads an interesting post by Tim. Though the most stuff is obvious it&#8217;s quite interesting that someone took the effort to dissasemble IE and port some parts of it to PHP. Geeky [...]</description>
		<content:encoded><![CDATA[<p>[...] Handling secure web uploads an interesting post by Tim. Though the most stuff is obvious it&#8217;s quite interesting that someone took the effort to dissasemble IE and port some parts of it to PHP. Geeky [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
