<?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>Mon, 06 Oct 2008 07:43:19 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DevShed: Structuring Your Projects for Web Application Security]]></title>
      <guid>http://www.phpdeveloper.org/news/11113</guid>
      <link>http://www.phpdeveloper.org/news/11113</link>
      <description><![CDATA[<p>
<a href="http://www.devshed.com/c/a/PHP/Structuring-Your-Projects-for-Web-Application-Security/">This new tutorial</a> DevShed has posted today talks about planning for your application's security and some handy tips you can use to keep it safe.
</p>
<blockquote>
In this article we will look at how to start a project while considering its related security issues. We will focus on form validation as well as other topics such as site structures. To demonstrate the topics that we will be discussing, we will create a site that will enable a user to log in, log out, register and manage passwords.
</blockquote>
<p>
They look at things like the overall structure of the site (including how it lives on the file system) and protecting your application from dangerous user input through forms.
</p>]]></description>
      <pubDate>Tue, 30 Sep 2008 07:53:56 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Devollo.com: Data Filtering Using PHP's Filter Functions - Part one]]></title>
      <guid>http://www.phpdeveloper.org/news/11016</guid>
      <link>http://www.phpdeveloper.org/news/11016</link>
      <description><![CDATA[<p>
On Devollo.com the <a href="http://devolio.com/blog/archives/413-Data-Filtering-Using-PHPs-Filter-Functions-Part-one.html">first part</a> of a series looking at something every PHP developer (or any other for that matter) should include in their application - data filtering.
</p>
<blockquote>
Filtering data. We all have to do it. Most, if not all of us, despise doing it. However, unbeknown to most are PHP's filter_* functions, that allow us to do all sorts of filtering and validation. Using PHP's filter_* functions, we can validate and sanitize data types, URLs, e-mail addresses, IP addresses, strip bad characters, and more, all with relative ease. This is part one of two, covering filter_var() and the different constants and flags that can be set.
</blockquote>
<p>
<a href="http://devolio.com/blog/archives/413-Data-Filtering-Using-PHPs-Filter-Functions-Part-one.html">This method</a>, using the filter extension, takes a lot of the work out of making sure that user-submitted data is what it should be. They include examples of how to filter numeric types, URLs, email addresses and how to sanitize the data to be sure there's no cross-site scripting or SQL injections to be found. This is a great reference if you're looking to get started with the filter extension.
</p>]]></description>
      <pubDate>Mon, 15 Sep 2008 09:33:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[C7Y: Practical Uses for the PHP Tokenizer]]></title>
      <guid>http://www.phpdeveloper.org/news/10863</guid>
      <link>http://www.phpdeveloper.org/news/10863</link>
      <description><![CDATA[<p>
A <a href="http://c7y.phparch.com/c/entry/1/art,practical_uses_tokenizer">new tutorial</a> has been posted to php|architects C7Y community site looking at some practical uses of the PHP tokenizer to work with your source.
</p>
<blockquote>
In this article we take a look at the PHP tokenizer and its potential at analyzing and processing PHP source code. We will build several working examples, which you can start using and extending for your own purposes.
</blockquote>
<p>
The author, <i>Stan Vassilev</i>, <a href="http://c7y.phparch.com/c/entry/1/art,practical_uses_tokenizer">explains what the tokenizer is for</a>, how it parses the code (via a lexer) and how to get at the tokens that are created. He uses the token_get_all and token_name functions to get the information and creates a wrapper class around them to strip whitespace and comments.
</p>]]></description>
      <pubDate>Wed, 20 Aug 2008 09:31:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Roshan Bhattarai's Blog: How to filter user submitted data easily in PHP?]]></title>
      <guid>http://www.phpdeveloper.org/news/10839</guid>
      <link>http://www.phpdeveloper.org/news/10839</link>
      <description><![CDATA[<p>
On his blog, <i>Roshan Bhattarai</i> shares <a href="http://roshanbh.com.np/2008/08/how-to-filter-user-submitted-data-easily-in-php.html">a few tips</a> on keeping your application safe by filtering user-submitted data.
</p>
<blockquote>
Yesterday, I saw one of my friend was working on the the contact form and was filtering the user input data(posted variables) individually. He was using a function in PHP to filter the input and using  tedious approach while calling the filtering function for each variables with coding  each of them in single line . Today, I'm going to show you how can you filter the posted variables easily using callback function in PHP.
</blockquote>
<p>
He shows how to create a filter_data function (for removing HTML embedded in the data) and how to implement it around your data. It could be extended pretty easily to do more than one filtering method to protect your information even more.
</p>]]></description>
      <pubDate>Fri, 15 Aug 2008 09:31:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Havard Eide's Blog: Iterators]]></title>
      <guid>http://www.phpdeveloper.org/news/10776</guid>
      <link>http://www.phpdeveloper.org/news/10776</link>
      <description><![CDATA[<p>
<i>Havard Eide</i> looks at another aspect of the Standard PHP Library in a <a href="http://eide.org/2008/08/05/iterators/">new blog post</a> today - iterators.
</p>
<blockquote>
[It's] a set of classes in the SPL that implements various iterating patterns: ArrayIterator, AppendIterator, FilterIterator, LimitIterator and NoRewindIterator. Hopefully you'll get a idea of what these are capable of and that you can get some new ideas for your day-to-day tasks.
</blockquote>
<p>
He breaks it down into example of each, explaining what they can be used for, how they work and a code example of each in action (with output). You can find more information in iterators and their functions in the <a href="http://us.php.net/spl">SPL section</a> of the manual.
</p>]]></description>
      <pubDate>Wed, 06 Aug 2008 12:52:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: Can You Hack Your Own Site? A Look at Some Essential Security Considerations]]></title>
      <guid>http://www.phpdeveloper.org/news/10659</guid>
      <link>http://www.phpdeveloper.org/news/10659</link>
      <description><![CDATA[<p>
On the NETTUTS.com website, there's a <a href="http://nettuts.com/articles/can-you-hack-your-own-site-a-look-at-some-essential-security-considerations/">great article</a> with some "essential security considerations" that you can use to see just how hackable your site could be.
</p>
<blockquote>
This article walks through the brainstorming stage of planning for what is in this instance, a hypothetical user-centric web application. Although you won't be left with a complete project '" nor a market ready framework, my hope is that each of you, when faced with future workloads, may muse on the better practices described. So, without further ado...Are you sitting comfortably?
</blockquote>
<p>
<a href="http://nettuts.com/articles/can-you-hack-your-own-site-a-look-at-some-essential-security-considerations/">The tutorial</a> is broken up into a few sections based around an example with a few points of failure (about book information). They work through the thought process behind the code, using the $_REQUEST variables correctly, preventing SQL injections, filtering the HTML output and a <a href="http://nettuts.s3.amazonaws.com/Articles/009_Security/NETTUTS-SEC/sources.zip">sample code</a> download for you to see how it's all tied together.
</p>]]></description>
      <pubDate>Tue, 22 Jul 2008 12:57:07 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Turland's Blog:  Output Filters in Zend_View]]></title>
      <guid>http://www.phpdeveloper.org/news/10348</guid>
      <link>http://www.phpdeveloper.org/news/10348</link>
      <description><![CDATA[<p>
<i>Matthew Turland</i> has written up <a href="http://ishouldbecoding.com/2008/06/04/output-filters-in-zend_view">a new tutorial</a> explaining something that isn't "currently very well documented" in the Zend Framework - output filters.
</p>
<blockquote>
They're mentioned in passing in the <a href="http://framework.zend.com/manual/en/zend.view.html">Zend_View</a> documentation, but not reviewed in detail anywhere in the Reference Guide as of version 1.5.2. I was curious enough about how to implement markup <a href="http://yuiblog.com/blog/2006/03/06/minification-v-obfuscation/">minification</a> that I decided to trace through the Zend_View source code in attempt to discern how output filters actually worked. As it turns out, it's actually pretty simple.
</blockquote>
<p>
He explains a simple example of how they work, using a Zend_View object to build the filters on (addFilterPath/setFilterPath), and how he created his own output filter - the Minify filter. A minifier removes the comments and whitespace in the output to help reduce its size.
</p>]]></description>
      <pubDate>Thu, 05 Jun 2008 11:16:02 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ken Guest's Blog: The Date_Holidays package, a pack of splitters and a pear tree]]></title>
      <guid>http://www.phpdeveloper.org/news/10155</guid>
      <link>http://www.phpdeveloper.org/news/10155</link>
      <description><![CDATA[<p>
In <a href="http://blogs.linux.ie/kenguest/2008/05/09/the-date_holidays-package-a-pack-of-splitters-and-a-pear-tree/">a new post</a> to his blog today, <i>Ken Guest</i> talks about the split that's been made in a PEAR package for calculating the dates of holidays (<a href="http://pear.php.net/package/Date_Holidays">Date_Holidays</a>) for localization reasons.
</p>
<blockquote>
We decided that this one package should be split into subpackages: one subpackage per region/country. Some advantages of this approach are that each driver / filter / subpackage gets it's own stability and version number - we wouldn't have to keep increasing the version number of Date_Holidays each time a new driver is added or when an existing driver gets a significant number of fixes.
</blockquote>
<p>
To replace your current version of the package (with all of the regions built in) with a new version that still contains all versions, uninstall the Date_Holidays and grab the "Date_Holidays#all" package. Otherwise, you can check out <a href="http://pear.php.net/package/Date_Holidays">the PEAR page</a> for the main package and see the subpackage list if you only need one for your area.
</p>]]></description>
      <pubDate>Fri, 09 May 2008 12:56:39 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: HTMLPurifer 3.1.0 Release Candidate Available]]></title>
      <guid>http://www.phpdeveloper.org/news/10021</guid>
      <link>http://www.phpdeveloper.org/news/10021</link>
      <description><![CDATA[<p>
<i>Padraic Brady</i> has <a href="http://blog.astrumfutura.com/archives/352-HTMLPurifer-3.1.0-Release-Candidate-Available.html">noted</a> that the latest release candidate of the HTMLPurifier software has been posted for download:
</p>
<blockquote>
HTMLPurifer is possibly the most understated underpublicised quality library in PHP today. I consider it a fundamental standard library that is automatically included in every PHP web application I start these days.
</blockquote>
<p>
This latest <a href="http://htmlpurifier.org/news/2008/3.1.0rc1-released.html">release candidate</a> (their first!) includes updates on two major features - the use of autoloading and a change to the way you use the filters. Check out <a href="http://htmlpurifier.org/demo.php">a demo</a> of it in action or just <a href="http://htmlpurifier.org/download.html">download</a> this latest release and try it out for yourself.
</p>]]></description>
      <pubDate>Wed, 23 Apr 2008 09:31:40 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ed Finkler's Blog: Inspekt 0.3 now available]]></title>
      <guid>http://www.phpdeveloper.org/news/9462</guid>
      <link>http://www.phpdeveloper.org/news/9462</link>
      <description><![CDATA[<p>
<i>Ed Finkler</i> has <a href="http://funkatron.com/index.php/site/comments/inspekt-03-now-available/#When:16:56:00Z">released the latest version</a> of his <a href="http://inspekt.org/">Inspekt</a> input filtering/output validation library for PHP5:
</p>
<blockquote>
I've uploaded the 0.3 release of <a href="http://inspekt.org/">Inspekt</a>, the input filtering and validation library for PHP4 and 5. With this release, Inspekt completes the goals of the original specification for the <a href="https://www.owasp.org/">OWASP</a> <a href="http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#EdFinkler_-_A_comprehensive_input_retrieval.2Ffiltering_system_for_PHP">SpoC007 project</a>. I believe it is ready for "real-world" use.
</blockquote>
<p>
Along with the new code being released there's also <a href="http://funkatron.com/inspekt/user_docs">more documentation</a>, <a href="http://funkatron.com/inspekt/api_docs/">API docs</a>, a <a href="http://pear.funkatron.com/">PEAR channel</a> and a <a href="http://groups.google.com/group/inspekt">mailing list</a>.
</p>]]></description>
      <pubDate>Mon, 21 Jan 2008 14:38:00 -0600</pubDate>
    </item>
  </channel>
</rss>
