<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>St. John Johnson &#187; Zend PHP Certification</title>
	<atom:link href="http://www.stjohnjohnson.com/category/zend-php-certification/feed" rel="self" type="application/rss+xml" />
	<link>http://www.stjohnjohnson.com</link>
	<description>This is a place for me to post my ideas, projects, tutorials, and resume for all to see</description>
	<lastBuildDate>Tue, 27 Apr 2010 21:05:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PASSED ZEND CERTIFICATION!</title>
		<link>http://www.stjohnjohnson.com/blog/passed-zend-certification</link>
		<comments>http://www.stjohnjohnson.com/blog/passed-zend-certification#comments</comments>
		<pubDate>Wed, 20 Jan 2010 20:58:32 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zend PHP Certification]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/?p=448</guid>
		<description><![CDATA[That&#8217;s right.  I finished the 90 minute test in 30 minutes and passed with flying colors!  It was a really hard test, but I got through it!
For anyone who wants to go for it, remember to spend a lot of time studying!!
]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/blog/passed-zend-certification/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 27 &#8211; Advanced Streams</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-27-advanced-streams</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-27-advanced-streams#comments</comments>
		<pubDate>Sun, 17 Jan 2010 04:07:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-27-advanced-streams</guid>
		<description><![CDATA[Yesterday, I was explaining basic built-in streams.&#160; Today I&#8217;ll be covering the advanced modes.&#160; The first thing is basic network access (http, ftp, etc).&#160; Normally, you would just use fopen() or file_get_contents().&#160; Well what would happen if you wanted to provide additional parameters to that call, like user agent?&#160; Meet stream_context_create():
 


$http_options = stream_context_create(array(


&#160; &#39;http&#39; [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-27-advanced-streams/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 26 &#8211; Directory Operations</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-26-directory-operations</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-26-directory-operations#comments</comments>
		<pubDate>Sat, 16 Jan 2010 04:15:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-26-directory-operations</guid>
		<description><![CDATA[Now that we&#8217;ve talked about files, it&#8217;s time to talk about directory access.&#160; PHP has a whole variety of functions designed just for this!&#160; Here are the important ones:
 

chdir($dir): Change working directory
$dir = getcwd(): Get working directory
mkdir($dir, [$permission], [$recursive]): Create a new directory with permission model (in octal) $permission
is_dir($directory): Check if path is an [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-26-directory-operations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 25 &#8211; File Streams (cont.)</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-25-file-streams-cont</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-25-file-streams-cont#comments</comments>
		<pubDate>Fri, 15 Jan 2010 04:05:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-25-file-streams-cont</guid>
		<description><![CDATA[Yesterday, I kind-of neglected to show you an example of how perform basic file access.&#160; Today I will remedy that!&#160; File access can be done various ways and each has its own reasons.&#160; Here is an example of a CSV read:
 


$name = &#8220;news.csv&#8221;;


&#160;


if &#40;!is_file&#40;$name&#41;&#41;


&#160; die &#40;&#34;File is missing!&#34;&#41;;


&#160;


$file = fopen&#40;$name, &#34;r&#34;&#41;;


&#160;


$news = array&#40;&#41;;


while &#40;$row [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-25-file-streams-cont/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 24 &#8211; Streams</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-24-streams</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-24-streams#comments</comments>
		<pubDate>Thu, 14 Jan 2010 03:37:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-24-streams</guid>
		<description><![CDATA[I only have one week before my certification exam!&#160; I&#8217;m shivering in my boots (if I had boots)!&#160; Well, the important part is not to worry and keep studying.&#160; Here is today&#8217;s topic (and the last chapter of the book):
The streams layer is a series of classes/methods in PHP that manage the reading and writing [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-24-streams/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 23 &#8211; Additional Security</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-23-additional-security</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-23-additional-security#comments</comments>
		<pubDate>Wed, 13 Jan 2010 04:25:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-23-additional-security</guid>
		<description><![CDATA[Okay, today should be the last day of Security topics (finally).&#160; The first one we&#8217;re going to cover is:
 
Remote Code Injection
Remote Code Injection is when a malicious user causes your PHP code to execute remote malicious code.&#160; The most obvious way is by an query string input.&#160; See this example:


require_once &#8220;{$_GET[&#39;page&#39;]}.php&#8221;;




&#160;


&#60;p&#62;If you were to [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-23-additional-security/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 22 &#8211; Database Security</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-22-database-security</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-22-database-security#comments</comments>
		<pubDate>Tue, 12 Jan 2010 04:05:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-22-database-security</guid>
		<description><![CDATA[SQL Injection &#8211; everyone talks about it, but most people fail to protect against it.&#160; This, just like most other security concerns with PHP are INCREDIBLY easy to protect against!&#160; To explain how to protect against SQL Injection, it&#8217;s best if I show you how to perform an attack first.&#160; Let us suppose your login [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-22-database-security/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 21 &#8211; Website Security</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-21-website-security</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-21-website-security#comments</comments>
		<pubDate>Mon, 11 Jan 2010 03:45:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-21-website-security</guid>
		<description><![CDATA[Yesterday I explained the basic #1 rule of security when building a website &#8211; &#34;Never Trust the User.&#34;&#160; Today I&#8217;m going to show you why and how a malicious user can attack your website.
 

Form Spoofing
When writing HTML, it&#8217;s normal to provide restriction on field lengths and choices:






Firstname: &#60;input type=&#34;text&#34; name=&#34;fname&#34; maxlength=&#34;100&#34; /&#62;&#60;br /&#62;


Title: &#60;select [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-21-website-security/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 20 &#8211; Security!</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-20-security</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-20-security#comments</comments>
		<pubDate>Sun, 10 Jan 2010 03:36:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-20-security</guid>
		<description><![CDATA[Okay, so before I start this next chapter, I have something very important to say.&#160; There are a large amount of people out there who believe that PHP is a terrible language.&#160; Their claims are based on the fact that 90% of applications built with PHP are of poor quality, don&#8217;t perform well, or are [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-20-security/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 19 &#8211; Document Object Model</title>
		<link>http://www.stjohnjohnson.com/zend-php-certification/day-19-document-object-model</link>
		<comments>http://www.stjohnjohnson.com/zend-php-certification/day-19-document-object-model#comments</comments>
		<pubDate>Sat, 09 Jan 2010 04:18:00 +0000</pubDate>
		<dc:creator>St. John</dc:creator>
				<category><![CDATA[Zend PHP Certification]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.stjohnjohnson.com/zend-php-certification/day-19-document-object-model</guid>
		<description><![CDATA[I can&#8217;t believe I&#8217;m spending so much time on this XML subject (granted it&#8217;s my weakest area as I haven&#8217;t had a chance to use it yet).&#160; I think tomorrow I&#8217;ll implement the XML manipulation of iTunes AppStore data (that will make a LOT of people happy).
 
Anyway, it&#8217;s important to note, when we get [...]]]></description>
		<wfw:commentRss>http://www.stjohnjohnson.com/zend-php-certification/day-19-document-object-model/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
