<?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: Using a Feedback Form for Spam</title>
	<atom:link href="http://alexander.kirk.at/2005/11/11/using-a-feedback-form-for-spam/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexander.kirk.at/2005/11/11/using-a-feedback-form-for-spam/</link>
	<description></description>
	<lastBuildDate>Tue, 23 Feb 2010 01:32:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: eric</title>
		<link>http://alexander.kirk.at/2005/11/11/using-a-feedback-form-for-spam/comment-page-1/#comment-99</link>
		<dc:creator>eric</dc:creator>
		<pubDate>Fri, 13 Jan 2006 06:16:17 +0000</pubDate>
		<guid isPermaLink="false">http://alexander.kirk.at/?p=42#comment-99</guid>
		<description>While validating data is important I found it far easier to simply dump comments from people contacting me into a table... then created a password protected page where I just use the mail function to send a reply. Validating is better but I didn&#039;t really see the point when I get maybe a handful of messages via my website a month.</description>
		<content:encoded><![CDATA[<p>While validating data is important I found it far easier to simply dump comments from people contacting me into a table... then created a password protected page where I just use the mail function to send a reply. Validating is better but I didn't really see the point when I get maybe a handful of messages via my website a month.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jared</title>
		<link>http://alexander.kirk.at/2005/11/11/using-a-feedback-form-for-spam/comment-page-1/#comment-73</link>
		<dc:creator>Jared</dc:creator>
		<pubDate>Mon, 28 Nov 2005 16:04:05 +0000</pubDate>
		<guid isPermaLink="false">http://alexander.kirk.at/?p=42#comment-73</guid>
		<description>Aparently it removed my example, unfortunatlly there is no &quot;preview&quot; function to this comment system, well here goes a second attempt.

&lt;?php
include(&#039;header.inc.php&#039;);
include($_GET[&#039;page&#039;]);
include(&#039;footer.inc.php&#039;);
?&gt;</description>
		<content:encoded><![CDATA[<p>Aparently it removed my example, unfortunatlly there is no "preview" function to this comment system, well here goes a second attempt.</p>
<p>&lt;?php<br />
include('header.inc.php');<br />
include($_GET['page']);<br />
include('footer.inc.php');<br />
?&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jared</title>
		<link>http://alexander.kirk.at/2005/11/11/using-a-feedback-form-for-spam/comment-page-1/#comment-72</link>
		<dc:creator>Jared</dc:creator>
		<pubDate>Mon, 28 Nov 2005 15:59:38 +0000</pubDate>
		<guid isPermaLink="false">http://alexander.kirk.at/?p=42#comment-72</guid>
		<description>This is a n00b mistake. PHPs best strength and worst weakness is its simplicity. Anyone off the street can be up and running in a day doing simple DB stuff and web apps. Thing is PHP doesn&#039;t stress validation nearly enough. 

The first rule of programming is to VALIDATE EVERYTHING, and I&#039;m glad you bolded it. Anything that is coming from an untrusted source, ie users, ie remote files, etc. In nearly 99% of the cases a simple validation class or function such as an is_email() would have stopped the attempt dead in its tracks.

In addition to this example I regularly find this in many n00b attempts at templating systems.

http://www.url.com/script.php?page=home.php



As you can see, this is amazingly simple to exploit. You can now basically view any file that the script can access. Password files, db connection files, etc. Not to mention the potential for some nasty cross site scripting.

The sad thing about all of this is sever administrators spend tons of time protecting their servers from bad code when they could be doing something more productive. This ultimately results in a crippled PHP config so that the users are protected from themselves.

In conclusion, I 110% agree with you, NEVER TRUST ANY DATA FROM ANY SOURCE ANYWHERE ANYTIME.</description>
		<content:encoded><![CDATA[<p>This is a n00b mistake. PHPs best strength and worst weakness is its simplicity. Anyone off the street can be up and running in a day doing simple DB stuff and web apps. Thing is PHP doesn't stress validation nearly enough. </p>
<p>The first rule of programming is to VALIDATE EVERYTHING, and I'm glad you bolded it. Anything that is coming from an untrusted source, ie users, ie remote files, etc. In nearly 99% of the cases a simple validation class or function such as an is_email() would have stopped the attempt dead in its tracks.</p>
<p>In addition to this example I regularly find this in many n00b attempts at templating systems.</p>
<p><a &nbsp;&nbsp; href="http://www.url.com/script.php?page=home.php"&nbsp;&nbsp; rel="nofollow">http://www.url.com/script.php?page=home.php</a></p>
<p>As you can see, this is amazingly simple to exploit. You can now basically view any file that the script can access. Password files, db connection files, etc. Not to mention the potential for some nasty cross site scripting.</p>
<p>The sad thing about all of this is sever administrators spend tons of time protecting their servers from bad code when they could be doing something more productive. This ultimately results in a crippled PHP config so that the users are protected from themselves.</p>
<p>In conclusion, I 110% agree with you, NEVER TRUST ANY DATA FROM ANY SOURCE ANYWHERE ANYTIME.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
