<?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>Ben Maynard&#039;s blog about anything &#187; Web</title>
	<atom:link href="http://blog.visionsource.org/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.visionsource.org</link>
	<description>I swear this blog is different from the others!</description>
	<lastBuildDate>Wed, 08 Jun 2011 03:14:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Setting up Thawte SSL 123 on nginx</title>
		<link>http://blog.visionsource.org/2011/06/08/setting-up-thawte-ssl-123-on-nginx/</link>
		<comments>http://blog.visionsource.org/2011/06/08/setting-up-thawte-ssl-123-on-nginx/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 15:27:50 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[thawte]]></category>
		<category><![CDATA[thawte ssl123]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/?p=137</guid>
		<description><![CDATA[I recently had to setup a new Thawte SSL 123 SSL certificate on a clients webserver that was running nginx, but was having problems with the certificate being valid. The problem was when visiting the website, the browser was reporting it as an unknown issuer. After trying a few different methods including trying to use the ssl_client_certificate directive which [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had to setup a new Thawte SSL 123 SSL certificate on a clients webserver that was running nginx, but was having problems with the certificate being valid. The problem was when visiting the website, the browser was reporting it as an unknown issuer. After trying a few different methods including trying to use the ssl_client_certificate directive which didn&#8217;t work (not sure why), the solution was the following:</p>
<ol>
<li>Download your client certificate from thawte</li>
<li>Download the <a href="https://search.thawte.com/support/ssl-digital-certificates/index?page=content&amp;id=AR1482&amp;actp=LIST&amp;viewlocale=en_US" target="_blank">primary and secondary intermediate CAs</a> (Apache version has both certificates in the one file)</li>
<li>Combine the 3 certificates into one file, with your certificate first, then the primary and secondary intermediate certificates.</li>
<li>Add: ssl_verify_depth 3; to your configuration file</li>
<li>Restart nginx</li>
</ol>
<p>So in the end, your nginx configuration file should look like the following:</p>
<blockquote><p>ssl_certificate         /path/to/certificate.bundle.cert;<br />
ssl_certificate_key     /path/to/private.key;<br />
ssl_verify_depth 3;</p></blockquote>
<p>Now your browser should say that the certificate was issues by Thawte DV SSL CA. You can test your SSL has been setup correctly by visiting <a href="https://www.wormly.com/test_ssl" target="_blank">https://www.wormly.com/test_ssl</a>. This method should also work when setting up any intermediate CAs, but just change the ssl_verify_depth to the number of certificates you are installing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2011/06/08/setting-up-thawte-ssl-123-on-nginx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The most craziest captcha&#8230;.EVER!</title>
		<link>http://blog.visionsource.org/2010/08/14/the-most-craziest-captcha-ever/</link>
		<comments>http://blog.visionsource.org/2010/08/14/the-most-craziest-captcha-ever/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 01:13:32 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[captcha]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/?p=113</guid>
		<description><![CDATA[I have been meaning to blog about this for over a year now, but check out the captcha on this website: http://linksave.in/register. That is one way on how NOT to do captcha, but very interesting and I wonder how spam bots go with it.]]></description>
			<content:encoded><![CDATA[<p>I have been meaning to blog about this for over a year now, but check out the captcha on this website: <a href="http://linksave.in/register" target="_blank">http://linksave.in/register</a>.</p>
<p>That is one way on how NOT to do captcha, but very interesting and I wonder how spam bots go with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2010/08/14/the-most-craziest-captcha-ever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NFS Manager</title>
		<link>http://blog.visionsource.org/2010/08/11/nfs-manager/</link>
		<comments>http://blog.visionsource.org/2010/08/11/nfs-manager/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 03:42:24 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[nfs]]></category>
		<category><![CDATA[nfs manager]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/?p=110</guid>
		<description><![CDATA[I have been playing around with python and django the last coupon of weeks and I have created a NFS Manager module. You can grab the source code from: http://github.com/bmaynard/NFSManager It is fairly basic at the moment and I havn&#8217;t implement all the options available for NFS but you can manage several servers from one [...]]]></description>
			<content:encoded><![CDATA[<p>I have been playing around with python and django the last coupon of weeks and I have created a NFS Manager module. You can grab the source code from: http://github.com/bmaynard/NFSManager</p>
<p>It is fairly basic at the moment and I havn&#8217;t implement all the options available for NFS but you can manage several servers from one place <img src='http://blog.visionsource.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . To use the module, you create new servers, then setup the shared directories and clients. After you have set everything up you can go to the server list and push the changes across from the action drop down.</p>
<p>If you have any comments or suggestions then please leave a comment, I would like to try and make the module more powerful.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2010/08/11/nfs-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing PHP extensions on Mac OS X under xampp</title>
		<link>http://blog.visionsource.org/2010/05/31/installing-php-extensions-on-mac-os-x-under-xampp/</link>
		<comments>http://blog.visionsource.org/2010/05/31/installing-php-extensions-on-mac-os-x-under-xampp/#comments</comments>
		<pubDate>Sun, 30 May 2010 18:11:55 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/?p=97</guid>
		<description><![CDATA[The other day I installed xampp on a mac os x running snow leopard but I was having an issue installing any extra extensions like xdebug and apc. I found out it was because it was compiling the extensions in 64bit but xampp is compiled in 32bit and I did the following to fix the [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I installed xampp on a mac os x running snow leopard but I was having an issue installing any extra extensions like xdebug and apc. I found out it was because it was compiling the extensions in 64bit but xampp is compiled in 32bit and I did the following to fix the issue:</p>
<ol>
<li>Download and extract the source</li>
<li>Run phpize</li>
<li>Adding the following parameters to configure:
<pre>./configure MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i386 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -g -Os -pipe" CXXFLAGS="-arch i386 -g -Os -pipe" LDFLAGS="-arch i386 -bind_at_load"</pre>
</li>
<li>make (and make install if required)</li>
<li>done <img src='http://blog.visionsource.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>If that doesnt work, try adding:
<pre>--with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config-5.3.1</pre>
<p> to the configure command.</p>
<p>I hope that will help some people out there, because it was driving me insane!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2010/05/31/installing-php-extensions-on-mac-os-x-under-xampp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenCart CSRF Vulnerability</title>
		<link>http://blog.visionsource.org/2010/01/28/opencart-csrf-vulnerability/</link>
		<comments>http://blog.visionsource.org/2010/01/28/opencart-csrf-vulnerability/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 02:41:03 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[csrf]]></category>
		<category><![CDATA[OpenCart]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/?p=67</guid>
		<description><![CDATA[I have have started at a new job in Toronto this year, and my first project is an e-commerce website and was tasked to use OpenCart which is the best open source e-commerce software we could find. However an issue I noticed straight away was the application is vulnerable to CSRF attacks via the POST [...]]]></description>
			<content:encoded><![CDATA[<p>I have have started at a new job in Toronto this year, and my first project is an e-commerce website and was tasked to use OpenCart which is the best open source e-commerce software we could find. However an issue I noticed straight away was the application is vulnerable to CSRF attacks via the POST method. Since I take no risks with security I have implemented a fix which generates a token when an admin logs in and appends it to the URL through the Url class.</p>
<p>I have drafted an example of the exploit, sent it to the creator of OpenCart and gave an example of how a user could be targeted with the attacker changing the PayPal email address to their own account. I did this as I didn&#8217;t want to publish the exploit until a fix was implemented and a new version was released, but as the following email transcript will show, this is not going to happen anytime soon.</p>
<blockquote><p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
From: &#8220;Ben&#8221;<br />
Sent: Friday, January 22, 2010 8:06 PM<br />
To: < *******@opencart.com><br />
Subject: OpenCart &#8211; Enquiry</p>
<p>Hi,</p>
<p>I recently installed OpenCart and I noticed that it is vulnerable to CSRF attacks. I have created a sample page that is capable of inserting a rouge user (the page currently prompts you but could be done silently if the attacker knows the url of the site).</p>
<p>http://visionsource.org/*********.html</p>
<p>Please let know that you are looking into the security issue and are going to release an update with a fix otherwise I will make the issue public.</p>
<p>If you need any help fixing the problem please let me know.</p>
<p>Thanks,<br />
Ben.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
On 2010-01-22, at 4:50 PM, Daniel Kerr wrote:</p>
<p>Ben you seem to be very clever to come up with this. But! you need to be logged in for this to happen.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
From: &#8220;Ben Maynard&#8221;<br />
Sent: Friday, January 22, 2010 11:34 PM<br />
To: &#8220;Daniel Kerr&#8221;<br />
Subject: Re: OpenCart &#8211; Enquiry</p>
<p>HI Daniel,</p>
<p>That is the whole point of a CSRF attack. Please read http://en.wikipedia.org/wiki/Csrf for an explanation on the attack.</p>
<p>This can be very dangerous, for example:</p>
<p>I am an attacker looking at stealing money, I find a websites that are running opencart and have paypal as a payment method. I send the owner an email asking a question about a product and send a link that will perform the attack on the website. The chances of the owner being logged into their opencart admin is high since they are dealing with orders, and a rouge account is created without the user knowing (The attacker could just format the malicious page to look like a 404 not found page so it doesnt raise suspicion with the owner).</p>
<p>The attacker makes the script send an email when the page is hit, so he knows when to logged into the admin section. The attacker then logs in, changes the paypal email address to his own account, deletes the new account to help cover his tracks. He starts to get the money from the website and the owner of the website may not realize what has happened for a couple of days (maybe even longer)!</p>
<p>If someone was to do this, it would cause a major problem for the owner (and buyers who money was stolen).</p>
<p>I have implemented a fix on the website i am working on and dont mind sharing the fix. I create a random token when the user logs in, and in the Url class I add it to the url. There is also a check on the user auth.</p>
<p>Thanks,<br />
Ben.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
On 2010-01-22, at 7:31 PM, Daniel Kerr wrote:</p>
<p>This sort of thing is down to the client. The software on a clients computer is nothing to do with opencart! There is no way that I&#8217;m responsible for a client being stupid enough to click links in emails.</p>
<p>Even professional banking sites have trouble with the problem you describe.</p>
<p>The only thing a client can take steps to do is only allowing certain IP&#8217;s to access the admin via their hosting.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
From: &#8220;Ben Maynard&#8221;<br />
Sent: Saturday, January 23, 2010 12:52 AM<br />
To: &#8220;Daniel Kerr&#8221;<br />
Subject: Re: OpenCart &#8211; Enquiry</p>
<p>A link in an email is not the only way for this attack to be performed, it was just an example. Its not hard to add protection and would make open cart more secure, security is not something you can take lightly.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
On 2010-01-22, at 8:05 PM, Daniel Kerr wrote:<br />
what protection do you recommend?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
On 2010-01-22, at 8:05 PM, Daniel Kerr wrote:<br />
to be honest this again is down to the client. not opencart.</p>
<p>the security problem is very low. seriously how is some one going to trick some one into clicking a link to a site that will them display there own web site admin?</p>
<p>your just wasting my time.</p></blockquote>
<p>Now as you can see, the creator doesn&#8217;t care about security which is a very dangerous thing especially when you are creating e-commerce websites. It is also not hard to find websites running OpenCart, you can just google &#8220;Powered By OpenCart&#8221; and you get thousands of results, imagine how much money could be stolen by targeting half of these websites and who says its not being done right now? This is why it makes me really angry when web developers don&#8217;t take security seriously. Now I love PHP and hate it when people say bad things about the language but its true when they say PHP is like a handgun.</p>
<blockquote><p>PHP is like a handgun. On its own, it is simply an  inanimate tool that has no moral leaning. In the hands of a responsible  citizen, it can be used to the benefit of society. But in the hands of  someone who is untrained or mentally unstable, it can be used to commit  horrible atrocities.</p>
<p>Whenever there&#8217;s such a tragedy, other developers are quick to blame  PHP. If PHP were illegal, then Yahoo! would never have happened. If we  regulated PHP tightly, then there would be no Digg.</p></blockquote>
<p><em><a href="http://www.theregister.co.uk/2009/05/25/dziuba_microsoft_php/" target="_blank">via The Register</a>.</em></p>
<p>Now does anyone have any suggestions on what could be done to get the developer to acknowledge the problem and not just put his head in the sand?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2010/01/28/opencart-csrf-vulnerability/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Free Icons for Android</title>
		<link>http://blog.visionsource.org/2009/03/13/free-icons-for-android/</link>
		<comments>http://blog.visionsource.org/2009/03/13/free-icons-for-android/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 05:29:23 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android icons]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[free icons]]></category>
		<category><![CDATA[glyfx]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[icon sets]]></category>
		<category><![CDATA[icons]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/?p=41</guid>
		<description><![CDATA[I was just reading one of my mates blog, Ignite, and remebered that the guys at glyFX released a free icon set for the android mobile platform. You can check out the The Android Developer Common Icon Set which contains a total of 24 free quality icons. The guys at glyFX really do create some [...]]]></description>
			<content:encoded><![CDATA[<p>I was just reading one of my mates blog, <a href="http://ignite.digitalignition.net/" target="_blank">Ignite</a>, and remebered that the guys at <a href="http://www.glyfx.com" target="_blank">glyFX</a> released a free icon set for the <a href="http://code.google.com/android/" target="_blank">android</a> mobile platform. You can check out the <a href="http://www.glyfx.com/products/free_android.html">The Android Developer Common Icon Set</a> which contains a total of 24 free quality icons.</p>
<p>The guys at <a href="http://www.glyfx.com" target="_blank">glyFX</a> really do create some stunning icons, and its good to see them release free icons for developers who wish to create applications for the android platform. So please check out the <a href="http://www.glyfx.com/products/free_android.html">The Android Developer Common Icon Set</a> and if you can help support the guys for their hard work.</p>
<p>You can also check out the full set of free icons that <a href="http://www.glyfx.com" target="_blank">glyFX</a> have <a href="http://www.glyfx.com/products/free.html" target="_blank">released here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2009/03/13/free-icons-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New glyFX icon set</title>
		<link>http://blog.visionsource.org/2008/05/13/new-glyfx-icon-set/</link>
		<comments>http://blog.visionsource.org/2008/05/13/new-glyfx-icon-set/#comments</comments>
		<pubDate>Tue, 13 May 2008 05:12:29 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[glyfx]]></category>
		<category><![CDATA[icon sets]]></category>
		<category><![CDATA[networking icons]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/2008/05/13/new-glyfx-icon-set/</guid>
		<description><![CDATA[As a developer who sucks at anything that involves design, I love buying ready made icons I can just plug into my application. The guys at glyfx have done a brilliant job with their latest vista network set, so go check it out: glyFX Vista Network I Icon Set]]></description>
			<content:encoded><![CDATA[<p>As a developer who sucks at anything that involves design, I love buying ready made icons I can just plug into my application. The guys at glyfx have done a brilliant job with their latest vista network set, so go check it out:</p>
<p><a href="http://www.glyfx.com/products/icons.php?set=vistanetwork" title="vista icon set">glyFX Vista Network I Icon Set</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2008/05/13/new-glyfx-icon-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cluttered Webspace</title>
		<link>http://blog.visionsource.org/2008/03/25/cluttered-webspace/</link>
		<comments>http://blog.visionsource.org/2008/03/25/cluttered-webspace/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 11:51:09 +0000</pubDate>
		<dc:creator>Ben Maynard</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.visionsource.org/2008/03/25/cluttered-webspace/</guid>
		<description><![CDATA[One of the things I hate most when working is logging into FTP of a website you need to make changes to, and you find it littered with crap&#8230;..and I mean CRAP. Like some things I find is stuff from like index.old.bak and index.bak2 etc or things from 2006 that never get used anywhere. I [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I hate most when working is logging into FTP of a website you need to make changes to, and you find it littered with crap&#8230;..and I mean CRAP. Like some things I find is stuff from like index.old.bak and index.bak2 etc or things from 2006 that never get used anywhere. I try and never do this (I must admit, im not perfect but I try to avoid it at all costs), and if i do its for 5 minutes while I test a new file then I will delete my .bak file.</p>
<p>As a web developer, when ever i handle file uploads i always make sure that I store the file in a logical folder structure eg: /uploads/news/images/ and when the user deletes an item eg news article, DELETE ALL FILES associated  with the item!!!!!!</p>
<p>&lt;/end rant&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.visionsource.org/2008/03/25/cluttered-webspace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

