<?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: Bad Information</title>
	<atom:link href="http://www.zenphp.com/2008/06/23/bad-information/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zenphp.com/2008/06/23/bad-information/</link>
	<description>Musings From the World of PHP</description>
	<lastBuildDate>Tue, 26 Aug 2008 01:36:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chris Shiflett</title>
		<link>http://www.zenphp.com/2008/06/23/bad-information/comment-page-1/#comment-22</link>
		<dc:creator>Chris Shiflett</dc:creator>
		<pubDate>Tue, 26 Aug 2008 01:36:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenphp.com/2008/06/23/bad-information/#comment-22</guid>
		<description>Dragos is right, but the truth is that there&#039;s no risk in someone using cURL instead of a regular browser, as long as you enforce good rules. Any good security practice considers the fact that a user can manipulate anything in the request.

The practice you describe is for preventing CSRF:

http://shiflett.org/articles/cross-site-request-forgeries

I hope this helps.</description>
		<content:encoded><![CDATA[<p>Dragos is right, but the truth is that there&#8217;s no risk in someone using cURL instead of a regular browser, as long as you enforce good rules. Any good security practice considers the fact that a user can manipulate anything in the request.</p>
<p>The practice you describe is for preventing CSRF:</p>
<p><a href="http://shiflett.org/articles/cross-site-request-forgeries" rel="nofollow">http://shiflett.org/articles/cross-site-request-forgeries</a></p>
<p>I hope this helps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jgm</title>
		<link>http://www.zenphp.com/2008/06/23/bad-information/comment-page-1/#comment-14</link>
		<dc:creator>jgm</dc:creator>
		<pubDate>Thu, 03 Jul 2008 13:16:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenphp.com/2008/06/23/bad-information/#comment-14</guid>
		<description>@Dragos,
Yes session hijacking is still an issue, but so long as you destroy the session after processing, it makes the spammer&#039;s job more difficult, they will have to repeatedly visit the initial page to generate a new valid session before hitting the processing page.  Checking the submission count and rate will make it even harder.  Getting around this version will be significantly more difficult that one that simply looks at the referrer string, which is much more trivial to bypass than stealing a cookie.</description>
		<content:encoded><![CDATA[<p>@Dragos,<br />
Yes session hijacking is still an issue, but so long as you destroy the session after processing, it makes the spammer&#8217;s job more difficult, they will have to repeatedly visit the initial page to generate a new valid session before hitting the processing page.  Checking the submission count and rate will make it even harder.  Getting around this version will be significantly more difficult that one that simply looks at the referrer string, which is much more trivial to bypass than stealing a cookie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dragos</title>
		<link>http://www.zenphp.com/2008/06/23/bad-information/comment-page-1/#comment-13</link>
		<dc:creator>Dragos</dc:creator>
		<pubDate>Wed, 02 Jul 2008 16:32:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenphp.com/2008/06/23/bad-information/#comment-13</guid>
		<description>Using the same Curl you &quot;blame&quot; that can be used to change REFERER , you can simulate session (capture cookie and use it). Your solution it&#039;s not better than using REFERER variable: both are useless if someone really wants to get in. I found no solution for this issue, that&#039;s why I read your post ;) - and still I have no solution.</description>
		<content:encoded><![CDATA[<p>Using the same Curl you &#8220;blame&#8221; that can be used to change REFERER , you can simulate session (capture cookie and use it). Your solution it&#8217;s not better than using REFERER variable: both are useless if someone really wants to get in. I found no solution for this issue, that&#8217;s why I read your post ;) &#8211; and still I have no solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jgm</title>
		<link>http://www.zenphp.com/2008/06/23/bad-information/comment-page-1/#comment-12</link>
		<dc:creator>jgm</dc:creator>
		<pubDate>Mon, 30 Jun 2008 01:37:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenphp.com/2008/06/23/bad-information/#comment-12</guid>
		<description>JavaScript is definately an option, and one that I commonly employ on client websites to prevent spam submissions.  Though rather than use it as you have described I normally use it to re-write the submission form&#039;s action attribute, from a bogus target to the normal one.  This will foil just about all of the normal comment form spammers out there.  The bots cant parse javascript and the sweatshops don&#039;t normally to minimize bandwidth use.  That combined with a session based approach will eliminate virtually all the spam comments currently.  Though I imagine that it will only be a matter of time before we start seeing spam bots that can and will take the time to parse javascript.</description>
		<content:encoded><![CDATA[<p>JavaScript is definately an option, and one that I commonly employ on client websites to prevent spam submissions.  Though rather than use it as you have described I normally use it to re-write the submission form&#8217;s action attribute, from a bogus target to the normal one.  This will foil just about all of the normal comment form spammers out there.  The bots cant parse javascript and the sweatshops don&#8217;t normally to minimize bandwidth use.  That combined with a session based approach will eliminate virtually all the spam comments currently.  Though I imagine that it will only be a matter of time before we start seeing spam bots that can and will take the time to parse javascript.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: seb</title>
		<link>http://www.zenphp.com/2008/06/23/bad-information/comment-page-1/#comment-11</link>
		<dc:creator>seb</dc:creator>
		<pubDate>Sun, 29 Jun 2008 04:40:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenphp.com/2008/06/23/bad-information/#comment-11</guid>
		<description>Another interesting approach I&#039;ve seen is to use Javascript to populate a verification field in your form with some pre-computed value that you can reproduce server-side. 

This of course is a problem for users who don&#039;t have Javascript, but really, who doesn&#039;t have Javascript these days?</description>
		<content:encoded><![CDATA[<p>Another interesting approach I&#8217;ve seen is to use Javascript to populate a verification field in your form with some pre-computed value that you can reproduce server-side. </p>
<p>This of course is a problem for users who don&#8217;t have Javascript, but really, who doesn&#8217;t have Javascript these days?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
