<?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: PHP Insecurity: Failure of Leadership</title>
	<atom:link href="http://www.greebo.net/2006/01/04/php-insecurity-failure-of-leadership/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.greebo.net/2006/01/04/php-insecurity-failure-of-leadership/</link>
	<description>mostly useless crap from me</description>
	<lastBuildDate>Sun, 21 Feb 2010 00:51:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Security And Caffeine</title>
		<link>http://www.greebo.net/2006/01/04/php-insecurity-failure-of-leadership/comment-page-1/#comment-17392</link>
		<dc:creator>Security And Caffeine</dc:creator>
		<pubDate>Fri, 30 May 2008 14:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=320#comment-17392</guid>
		<description>[...]  It&#8217;s fact, it happens; I would venture that it&#8217;s the point of PHP.  Now, PHP is often regarded as insecure, but, as many php professionals will argue, this is a failure of novice developers, not the [...]</description>
		<content:encoded><![CDATA[<p>[...]  It&#8217;s fact, it happens; I would venture that it&#8217;s the point of PHP.  Now, PHP is often regarded as insecure, but, as many php professionals will argue, this is a failure of novice developers, not the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michelle</title>
		<link>http://www.greebo.net/2006/01/04/php-insecurity-failure-of-leadership/comment-page-1/#comment-16098</link>
		<dc:creator>Michelle</dc:creator>
		<pubDate>Thu, 27 Dec 2007 21:30:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=320#comment-16098</guid>
		<description>G&#039;day,
 I hope this reaches you and it is probably an ass about way of doing it, but...I am an Aussie gal who just registered as a member of Aussie Vee Dubbers but can&#039;t complete it as I am having a problem downloading UltimaBB so as to enter the forum. It says either server can&#039;t url or contact the  host, so here I am.
Email with any help or updates... your baby pics are beautiful!!!!
Now to just gat my baby Kombi Camper into community :)
 Cheers,
Michelle</description>
		<content:encoded><![CDATA[<p>G&#8217;day,<br />
 I hope this reaches you and it is probably an ass about way of doing it, but&#8230;I am an Aussie gal who just registered as a member of Aussie Vee Dubbers but can&#8217;t complete it as I am having a problem downloading UltimaBB so as to enter the forum. It says either server can&#8217;t url or contact the  host, so here I am.<br />
Email with any help or updates&#8230; your baby pics are beautiful!!!!<br />
Now to just gat my baby Kombi Camper into community <img src='http://www.greebo.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
 Cheers,<br />
Michelle</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vanderaj</title>
		<link>http://www.greebo.net/2006/01/04/php-insecurity-failure-of-leadership/comment-page-1/#comment-14813</link>
		<dc:creator>vanderaj</dc:creator>
		<pubDate>Thu, 11 Oct 2007 04:29:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=320#comment-14813</guid>
		<description>Loler,

I do this stuff as my day job, and so it is as factual as I can make it without breaking NDAs. I review nearly a hundred applications every year. Sometime, I find lots of stuff, others not so much. I&#039;ve only done a few PHP reviews this year because our commercial customers stay away from it with good reason. 

The first PHP review this year was so bad, the report weighed in at over 80 pages (most of our reports are in the 30-40 page mark). I know that the customer was unprepared for our findings, and in fact, as far as I&#039;m aware, they&#039;ve made no serious effort to fix the issues we identified. 

It comes down to two things:

a) PHP is simple to use. So many people use it
b) the folks who are not CS majors do not even know what security is, and therefore the language designers have a responsibility to code to their primary audience. In PHP&#039;s case, it&#039;s hobbyist and first time programmers. 

The skilled programmer like you and me: we don&#039;t count. We are in the upper part of the bell curve. We can take care of ourselves regardless of how good or bad a language and its features are. 

A good systems language is a balance between power and security. For example, it&#039;s possible to write insecure Perl but there is SO much pressure to use things like taint mode and DBI&#039;s prepared statements, that pretty much all the Perl I see is heavily standardized, heavily commented, and pretty secure. That&#039;s one way a language which is heavily used in systems contexts, despite its many potential issues, is generally safe. Perl programmers are in my experience no better or worse than any other programmer. 

PHP has no such pressure. After coding in PHP since 2002 and still fixing up code five years later, PHP has so much to learn from security folks it&#039;s not funny. 

Personally, although I applaud the decision to finally kill PHP 4, it&#039;s far too late. PHP 4 will be on hosters until it becomes too expensive to host PHP any more from the sheer number of sites compromised. PHP 5 did not take off as fast as it should because it wasn&#039;t backwards compatible. I STILL to this day cannot stop support for PHP 4, even though it&#039;s got approximately 10 weeks to live. 

I can&#039;t guarantee MySQLi support, let alone PDO with MySQL support. I still don&#039;t have guaranteed access to transactions. Therefore, I can&#039;t leverage those technologies without writing three versions:

PHP 4 only, functional mysql
PHP 4/5, functional / OO hybrid using mysqli
PHP 5, OO mostly, functional a little, with PDO and transactions on InnoDB (maybe)

The last category, PHP 5 with PDO and with transactional support is such a tiny fraction of the PHP install base, that it is not worth writing to that platform. I would be better off writing a .NET on Mono as it nearly has as large an install base as PHP 5 with PDO and transactions. 

PHP is a toy language used for non-toy functions. It needs to die as it CANNOT be made safe in its current form considering its core audience. 

Andrew</description>
		<content:encoded><![CDATA[<p>Loler,</p>
<p>I do this stuff as my day job, and so it is as factual as I can make it without breaking NDAs. I review nearly a hundred applications every year. Sometime, I find lots of stuff, others not so much. I&#8217;ve only done a few PHP reviews this year because our commercial customers stay away from it with good reason. </p>
<p>The first PHP review this year was so bad, the report weighed in at over 80 pages (most of our reports are in the 30-40 page mark). I know that the customer was unprepared for our findings, and in fact, as far as I&#8217;m aware, they&#8217;ve made no serious effort to fix the issues we identified. </p>
<p>It comes down to two things:</p>
<p>a) PHP is simple to use. So many people use it<br />
b) the folks who are not CS majors do not even know what security is, and therefore the language designers have a responsibility to code to their primary audience. In PHP&#8217;s case, it&#8217;s hobbyist and first time programmers. </p>
<p>The skilled programmer like you and me: we don&#8217;t count. We are in the upper part of the bell curve. We can take care of ourselves regardless of how good or bad a language and its features are. </p>
<p>A good systems language is a balance between power and security. For example, it&#8217;s possible to write insecure Perl but there is SO much pressure to use things like taint mode and DBI&#8217;s prepared statements, that pretty much all the Perl I see is heavily standardized, heavily commented, and pretty secure. That&#8217;s one way a language which is heavily used in systems contexts, despite its many potential issues, is generally safe. Perl programmers are in my experience no better or worse than any other programmer. </p>
<p>PHP has no such pressure. After coding in PHP since 2002 and still fixing up code five years later, PHP has so much to learn from security folks it&#8217;s not funny. </p>
<p>Personally, although I applaud the decision to finally kill PHP 4, it&#8217;s far too late. PHP 4 will be on hosters until it becomes too expensive to host PHP any more from the sheer number of sites compromised. PHP 5 did not take off as fast as it should because it wasn&#8217;t backwards compatible. I STILL to this day cannot stop support for PHP 4, even though it&#8217;s got approximately 10 weeks to live. </p>
<p>I can&#8217;t guarantee MySQLi support, let alone PDO with MySQL support. I still don&#8217;t have guaranteed access to transactions. Therefore, I can&#8217;t leverage those technologies without writing three versions:</p>
<p>PHP 4 only, functional mysql<br />
PHP 4/5, functional / OO hybrid using mysqli<br />
PHP 5, OO mostly, functional a little, with PDO and transactions on InnoDB (maybe)</p>
<p>The last category, PHP 5 with PDO and with transactional support is such a tiny fraction of the PHP install base, that it is not worth writing to that platform. I would be better off writing a .NET on Mono as it nearly has as large an install base as PHP 5 with PDO and transactions. </p>
<p>PHP is a toy language used for non-toy functions. It needs to die as it CANNOT be made safe in its current form considering its core audience. </p>
<p>Andrew</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Loler</title>
		<link>http://www.greebo.net/2006/01/04/php-insecurity-failure-of-leadership/comment-page-1/#comment-14809</link>
		<dc:creator>Loler</dc:creator>
		<pubDate>Wed, 10 Oct 2007 23:15:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=320#comment-14809</guid>
		<description>You are joking right?
It seems you are not able to use PHP in the correct way. Why should a language force you to do some things in a specific way? Its up to you to code right, and decide what is right in your case.
Sure there had been failures what PHP provided. But you shouldn&#039;t forget that PHP enabled people to start coding.
Its normal that beginners may write insecure code, I can write dumb ass insecure code on every language I use when I am a beginner.
So stop your clueless ranting and put some facts on the table that are not just theoretical or searching for some worse examples in a flood of applications.</description>
		<content:encoded><![CDATA[<p>You are joking right?<br />
It seems you are not able to use PHP in the correct way. Why should a language force you to do some things in a specific way? Its up to you to code right, and decide what is right in your case.<br />
Sure there had been failures what PHP provided. But you shouldn&#8217;t forget that PHP enabled people to start coding.<br />
Its normal that beginners may write insecure code, I can write dumb ass insecure code on every language I use when I am a beginner.<br />
So stop your clueless ranting and put some facts on the table that are not just theoretical or searching for some worse examples in a flood of applications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://www.greebo.net/2006/01/04/php-insecurity-failure-of-leadership/comment-page-1/#comment-7784</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Wed, 18 Apr 2007 17:34:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=320#comment-7784</guid>
		<description>Thank You</description>
		<content:encoded><![CDATA[<p>Thank You</p>
]]></content:encoded>
	</item>
</channel>
</rss>
