<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sun, 19 May 2013 10:45:48 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHP.net: PHP 5.3.10 Released (Security Fix - Recommended Upgrade)]]></title>
      <guid>http://www.phpdeveloper.org/news/17492</guid>
      <link>http://www.phpdeveloper.org/news/17492</link>
      <description><![CDATA[<p>
The PHP development team has <a href="http://www.php.net/index.php#id2012-02-02-1">officially announced</a> the release of the latest version of PHP in the 5.3.x series - <a href="http://www.php.net/downloads.php">PHP 5.3.10</a>:
</p>
<blockquote>
The PHP development team would like to announce the immediate availability of PHP 5.3.10. This release delivers a critical security fix. [...] Fixed arbitrary remote code execution vulnerability reported by Stefan Esser, CVE-2012-0830.
</blockquote>
<p>
It is highly recommended that users upgrade to this latest version to avoid falling victim to <a href="http://thexploit.com/sec/critical-php-remote-vulnerability-introduced-in-fix-for-php-hashtable-collision-dos/">this recently introduced bug</a> relating to the new "max_input_vars" setting added to protect from the overflow issue <a href="http://phpdeveloper.org/news/17322">recently brought up</a> in the PHP community.
</p>]]></description>
      <pubDate>Fri, 03 Feb 2012 08:01:29 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Nikita Popov's Blog: Supercolliding a PHP array]]></title>
      <guid>http://www.phpdeveloper.org/news/17322</guid>
      <link>http://www.phpdeveloper.org/news/17322</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Nikita Popov</i> talks about a little <a href="http://nikic.github.com/2011/12/28/Supercolliding-a-PHP-array.html">trick with inserting values into arrays</a> that can make it take a lot longer than it should (because of how PHP stores its array values in hashtables).
</p>
<blockquote>
PHP internally uses hashtables to store arrays. The above creates a hashtable with 100% collisions (i.e. all keys will have the same hash). [...] Because every hash function has collisions this C array doesn't actually store the value we want, but a linked list of possible values. [...] Normally there will be only a small number of collisions, so in most cases the linked list will only have one value. But the [included script] creates a hash where all elements collide.
</blockquote>
<p>
He explains why it works, noting that it's relatively simple to do in PHP because of how it applies a table mask. The slowness comes in when PHP is forced to go through the entire list when it tries to insert. Because of this issue, there's the potential for a Denial of Service attack that could potentially take a server down. There's <a href="http://svn.php.net/viewvc?view=revision&revision=321038">a fix already in place</a> for the problem, though, so keep an eye out for the next release (that will include a max_input_vars setting to prevent it).
</p>]]></description>
      <pubDate>Thu, 29 Dec 2011 12:15:30 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney's Blog: Migrating OOP Libraries and Frameworks to PHP 5.3]]></title>
      <guid>http://www.phpdeveloper.org/news/10529</guid>
      <link>http://www.phpdeveloper.org/news/10529</link>
      <description><![CDATA[<p>
<i>Matthew Weier O'Phinney</i> recently <a href="http://weierophinney.net/matthew/archives/181-Migrating-OOP-Libraries-and-Frameworks-to-PHP-5.3.html">posted about</a> a method he's come up with for migrating your object-oriented libraries (including frameworks) over to the upcoming PHP 5.3 version of the language.
</p>
<blockquote>
With PHP 5.3 coming up on the horizon, I'm of course looking forward to using namespaces. 
</blockquote>
<p>
He gives an example of how useful these namespaces can be for you and your code, but points out one failing point - trying to define classes in a namespace that are named the same as a built-in keyword for PHP. There's already been a suggestion to add a captial "I" in front of the class name to prevent this collision.
</p>
<p>
There's also the problem of throwing custom exceptions - unless you use the namespace properly your script will just throw a default exception.
</p>]]></description>
      <pubDate>Wed, 02 Jul 2008 10:24:02 -0500</pubDate>
    </item>
  </channel>
</rss>
