<?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>Thu, 23 May 2013 01:59:32 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: ClamAV as a Validation Filter in Zend Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/17365</guid>
      <link>http://www.phpdeveloper.org/news/17365</link>
      <description><![CDATA[<p>
New on PHPMaster.com there's a tutorial showing you how to use <a href="http://www.clamav.net/lang/en/">ClamAV</a> support to <a href="http://phpmaster.com/zf-clamav/">work as a validation filter</a> in a Zend Framework application. ClamAV is an open source project that helps identify malicious threats like trojeans, viruses and malware.
</p>
<blockquote>
Ok, so you're pretty comfortable with using the Zend Framework, specifically the use of Forms. Along with that, you have a good working knowledge of how to combine a host of <a href="http://framework.zend.com/manual/en/zend.validate.html">standard validators</a> [...] but what do you do when a situation arises that's outside the scope of the pre-packaged validators and filters? Let's say you want to guard against users uploading files that contain viruses, for example. You would have to write a custom validator that checks the uploads aren't infected.
</blockquote>
<p>
You'll need to install the <a href="http://sourceforge.net/projects/php-clamav">ClamAV extension</a> on your loal machine for the feature to work. Once it's there, though, it's as simple as setting up the validator (based on Zend_Validate_Abstract) and calling the "cl_scanfile" method on the uploaded file. Also included is the code for a sample controller with a Zend_Form instance and an upload file field to help prove it's working.
</p>]]></description>
      <pubDate>Mon, 09 Jan 2012 12:20:48 -0600</pubDate>
    </item>
  </channel>
</rss>
