<?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>Simon Whatley &#187; Web Server</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/web-server/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simonwhatley.co.uk</link>
	<description>The opposite of every great idea is another great idea</description>
	<lastBuildDate>Wed, 02 Nov 2011 09:28:34 +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 PHP on Mac OSX 10.6 (Snow Leopard)</title>
		<link>http://www.simonwhatley.co.uk/setting-up-php-on-mac-osx-10-6-snow-leopard</link>
		<comments>http://www.simonwhatley.co.uk/setting-up-php-on-mac-osx-10-6-snow-leopard#comments</comments>
		<pubDate>Wed, 31 Mar 2010 20:40:05 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache HTTP Server]]></category>
		<category><![CDATA[http.conf]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Mac OS X 10.5]]></category>
		<category><![CDATA[Mac OS X 10.6]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[Snow Leopard]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=2197</guid>
		<description><![CDATA[Since Apple launched Mac OS X 10.5 (Leopard), PHP has been installed by default, albeit disabled. Here is a quick run through of what you need to do to get it up and running.]]></description>
			<content:encoded><![CDATA[<p>Since Apple launched Mac OS X 10.5 (Leopard), PHP has been installed by default, albeit disabled. Here is a quick run through of what you need to do to get it up and running:</p>
<ol>
<li>Enable the PHP5 module in Apache:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">LoadModule php5_module libexec/apache2/libphp5.so</pre></div></div>

<p>This will normally involve simply removing the hash symbol (#) at the beginning of the line.</li>
<li>Restart Apache via the command line:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo apachectl restart -t</pre></div></div>

<p>The <code>-t</code> is used to run a syntax check on the Apache file, to ensure you haven&#8217;t broken anything.
</li>
<li>Locate the <code>php.ini.default</code> file in the <code>/etc/</code> directory and rename it to simply <code>php.ini</code> by running the following commands:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">cd /etc
sudo cp php.ini.default php.ini
sudo chmod 666 php.ini</pre></div></div>

</li>
<li>Create a file in the web server&#8217;s document root, in this case an <code>index.php</code> file, with the following text included:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;?php phpinfo() ?&gt;</pre></div></div>

<p>When you browse to that file, it will display information regarding your PHP installation. (Be sure to remove this after use and certainly don&#8217;t include it in a production environment.)</li>
</ol>
<p>That is all you need to do. Easy huh?</p>
<p>As a point to note, if you need to make changes to either the <code>http.conf</code> file or <code>php.ini</code>, you will need administrative access and will need to restart the Apache server for the chances to take effect.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/setting-up-php-on-mac-osx-10-6-snow-leopard/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using Ant with Eclipse</title>
		<link>http://www.simonwhatley.co.uk/using-ant-with-eclipse</link>
		<comments>http://www.simonwhatley.co.uk/using-ant-with-eclipse#comments</comments>
		<pubDate>Tue, 06 Jan 2009 11:16:44 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[build.xml]]></category>
		<category><![CDATA[CFEclipse]]></category>
		<category><![CDATA[Click Import]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[dev server]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[extreme programming]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[lifecycle]]></category>
		<category><![CDATA[Martin Laine]]></category>
		<category><![CDATA[platform-independent tool]]></category>
		<category><![CDATA[software automation]]></category>
		<category><![CDATA[test-driven development]]></category>
		<category><![CDATA[unit testing frameworks]]></category>
		<category><![CDATA[web developers]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[web server folder]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1552</guid>
		<description><![CDATA[If you're currently not using Eclipse as your development tool of choice, you certainly should be! Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re currently not using Eclipse as your development tool of choice, you certainly should be! Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.</p>
<p>Eclipse started out as a Java <abbr title="Integrated Development Environment">IDE</abbr> and has continually grown from there. Plugins now include, amongst a plethora of others, the venerable Aptana, CFEclipse, SQL Explorer, Subclipse and, more recently, the Adobe-developed Flex Builder and ColdFusion-equivalent codenamed <q>Bolt</q>.</p>
<p>Apache Ant is a software tool for automating software build processes. It is implemented using the Java language, requires the Java platform, and was originally developed to automate the build of Java projects. However, since Ant was created as a simple, platform-independent tool, it can really be used to automate the build of anything you choose.</p>
<p>Ant uses <abbr title="eXtensible Markup Language">XML</abbr> to describe the build process and its dependencies, using a file commonly called <code>build.xml</code>. Using this file, Ant makes it trivial to integrate unit testing frameworks with the build process and has made it easy for web developers to adopt test-driven development, and even Extreme Programming.</p>
<p>Fortunately for us, if you download and run Eclipse, you already have Ant installed and so do not have any complex configuration to concern yourself with; well, at least initially.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Setting Up Eclipse</h3>
<p>For the most part, Eclipse has all you need to get up and running with Ant pre-installed. However, most projects will include a release target which uses <abbr title="File Transfer Protocol">FTP</abbr> to upload the files to a live server. The <abbr title="File Transfer Protocol">FTP</abbr> ant task requires some extra libraries (.jar files):</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">commons-net-*.jar
jakarta-oro-*.jar</pre></div></div>

<p>(The library <a href="http://www.simonwhatley.co.uk/examples/ant/">files can be downloaded from here</a>).</p>
<p>Copy the files into the ant lib folder of your Eclipse install. The folder is commonly located here:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">C:\Program Files\Eclipse\plugins\org.apache.ant_*\lib</pre></div></div>

<p>(The asterix * refers to the Ant version).</p>
<p>Next, go to Window > Preferences and select Ant > Runtime. In the Classpath tab, select Ant Home Entries, click Add External JARs&#8230; and select the 2 files you copied to the ant lib folder.</p>
<h3>A Typical Ant Project Setup</h3>
<p>A project with ant build scripts should have the following within the repository:</p>
<ul>
<li>build.xml (the actual ant build script)</li>
<li>build.properties.template (a template for individual build.properties files)</li>
<li>an optional top level lib folder (containing jar files for external ant tasks)</li>
</ul>
<p>Examples of the <code>build.xml</code> and <code>build.properties.template</code> <a href="http://www.simonwhatley.co.uk/examples/ant/">files can be downloaded from here</a>.</p>
<h3>Create Your Own build.properties File</h3>
<p>Make a copy of the <code>build.properties.template</code> file (name it build.properties) and set the values to fit your local setup (in most cases, the only property you may want to change is <code>deploy.dir.local</code> which is the path to the site on your local machine).</p>
<p>This file should never be committed to the repository (the repository should be set to ignore it anyway).</p>
<h3>Basic Build Tasks</h3>
<p>The build file should have a <code>deploy.local</code> task. This task builds the project and copies it to your local webserver (the path to the web server folder will be defined in the <code>build.properties</code> file).</p>
<p>Most projects should also have a <code>deploy.dev</code> task to copy the latest work to the dev server so that other people can view it.</p>
<h3>Setting Up an Automatic Build</h3>
<p>To make things easy, you can set deploy.local to run every time you save a file. This is called an <q>automatic build</q>.</p>
<p>The process for setting up automatic build is quite convoluted. I&#8217;m not sure why but this is the best way I&#8217;ve found to make it work.</p>
<p><strong>Step 1: Add the build file to your ant view</strong></p>
<p>Click the add button and select the build.xml file from the project. You can also drag the build.xml file onto the ant view (To add the ant view to your perpective, go to Window > Show View > Other…)</p>
<p><strong>Step 2: Run as Ant Build</strong></p>
<p>In your ant view, right click the newly added build file and select Run As > Ant Build… In the dialog window, select the &#8216;Hide internal targets not selected for execution&#8217; option in the Targets tab. You can rename the builder in the box at the top of the window if you wish (I usually remove the trailing &#8216;build.xml&#8217;. Click Apply and Close.</p>
<p><strong>Step 3: Setup automatic build</strong></p>
<p>Right click on the project, select Properties, then Builders. Click Import. Before closing the screen, highlight the imported build and select edit. Go to the Targets tab select clean for &#8216;After a clean&#8217; and deploy.local for &#8216;Auto build&#8217;. Apply the changes and close.</p>
<p><strong>Step 4: Enable Auto Build</strong></p>
<p>Go to Project > Build Automatically</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong> Acknowledgment:</strong> Thanks should go to <a href="http://www.1pixelout.net/" title="1PixelOut: Martin Laine's online musings" target="_blank" rel="nofollow">Martin Laine</a> for his help and guidance which resulted in this article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/using-ant-with-eclipse/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How to Protect Your Website from a Malicious Attack</title>
		<link>http://www.simonwhatley.co.uk/how-to-protect-your-website-from-a-malicious-attack</link>
		<comments>http://www.simonwhatley.co.uk/how-to-protect-your-website-from-a-malicious-attack#comments</comments>
		<pubDate>Mon, 18 Aug 2008 12:54:20 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Application.cfc]]></category>
		<category><![CDATA[Application.cfm]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[cfquery]]></category>
		<category><![CDATA[cfqueryparam]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion Administrator]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[database server]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Manitoba]]></category>
		<category><![CDATA[Mark Kruger]]></category>
		<category><![CDATA[prevention]]></category>
		<category><![CDATA[protection]]></category>
		<category><![CDATA[raw processing]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[script protect]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software releases]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Injection]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[variables]]></category>
		<category><![CDATA[vulnerability]]></category>
		<category><![CDATA[Web Application Hacker]]></category>
		<category><![CDATA[web code]]></category>
		<category><![CDATA[Web Security]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[webserver]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=809</guid>
		<description><![CDATA[Every seasoned developer will know that protecting your website from a hacker is a top priority, whether for your own reputation or for maintaining your company's reputation and log-term revenue prospects.]]></description>
			<content:encoded><![CDATA[<p>Every seasoned developer will know that protecting your website from a hacker is a top priority, whether for your own reputation or for maintaining your company&#8217;s reputation and log-term revenue prospects.</p>
<p><strong>Why should you be worried about security?</strong></p>
<p>The Web is changing many of the assumptions that people have historically made about computer security and publishing. As the Internet makes it possible for web servers to publish information to millions of users, it also makes it possible for computer hackers, crackers, criminals, vandals, and other &#8220;bad guys&#8221; to break into the very computers on which the web servers are running. Once subverted, web servers can be used by attackers as a launching point for conducting further attacks against users and organisations.</p>
<p>It is considerably more expensive and more time-consuming to recover from a security incident than to take preventative measures ahead of time.</p>
<p>This blog post started on the premise of protecting your website from a <a href="http://en.wikipedia.org/wiki/SQL_injection" title="Wikipedia: SQL Injection" target="_blank" rel="nofollow">SQL Injection</a> Attack. However, it is also appropriate to discuss, at a relatively high level, how to secure your server architecture and applications.</p>
<h3>Server-Level Security</h3>
<ul>
<li>Separate web- and database-servers on to different physical machines.</li>
<li>Secure the web- and database-servers with traditional techniques. Only authorised accounts should have the capabilities to run tasks on the machine. That means not giving admin-rights to the user account.</li>
<li>Keep servers up-to-date with the latest patches and software releases.</li>
<li>Minimise the number of services running on the server. This means limiting the services to only those required for the web- or database-servers to function.</li>
<li>Secure information in transit between servers. This may mean physically securing the network to prevent evesdropping via encryption or obfuscating the data amongst innocuous &#8216;noise&#8217;.</li>
<li>Secure the database server behind a firewall.</li>
</ul>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Application-Level Security</h3>
<ul>
<li>Separate ColdFusion, the webserver and database server user accounts. They should never be under the same system account.</li>
<li>Create a database user specifically for your ColdFusion datasource and restrict it to only the activities required for the application. The user should not have database-owner rights, access to databases not relating to the application or access to the system tables.</li>
<li>Revoke privileges in the ColdFusion datasource definition to prevent the SQL commands <code>CREATE</code>, <code>DROP</code>, <code>GRANT</code>, <code>REVOKE</code> and <code>ALTER</code>.</li>
<li>General settings in the ColdFusion Administrator:
<ul>
<li>Check the <em>Disable access to internal ColdFusion Java components</em> option.</li>
<li>Check the <em>Enable Global Script Protection</em> option.</li>
<li>Add a <em>Missing Template Handler</em>.</li>
<li>Add a <em>Site-wide Error Handler</em>.</li>
<li>Reduce the <em>Maximum size of post data</em> from 100<abbr title="megabytes">MB</abbr>.</li>
<li>Enable <em>Timeout Requests</em>, and set to 60 seconds or less.</li>
<li>Disable <em>Robust Exception Handling</em> on production servers.</li>
</ul>
</li>
</ul>
<h3>Code-Level Security</h3>
<ul>
<li>Application.cfc &#8211; Set the <code>scriptProtect</code> Application variable to <code>true</code> to enable application-wide cross-site script protection.
</li>
<li>CFQueryParam &#8211; This tag, importantly, verifies the data type of a query parameter and, for <abbr title="Relational Database Management Systems">RDBMS</abbr>s that support bind variables, enables ColdFusion to use bind variables in the <acronym title="Structured Query Language">SQL</acronym> statement. Bind variable usage enhances performance when executing a <code>cfquery</code> statement multiple times.

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #800000;">&lt;cfquery</span> <span style="color: #0000ff;">name</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;qry&quot;</span> <span style="color: #0000ff">datasource</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;#APPLICATION.dsn#&quot;</span><span style="color: #800000;">&gt;</span></span>
SELECT column1, column2, column3
FROM tableName
WHERE column4 = <span style="color: #333333;"><span style="color: #800000;">&lt;cfqueryparam</span> <span style="color: #0000ff;">value</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;#variable1#&quot;</span> <span style="color: #0000ff">cfsqltype</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;cf_sql_bit&quot;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
AND column5 LIKE <span style="color: #333333;"><span style="color: #800000;">&lt;cfqueryparam</span> <span style="color: #0000ff;">value</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;%#variable2#%&quot;</span> <span style="color: #0000ff">cfsqltype</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;cf_sql_varchar&quot;</span> <span style="color: #0000ff;">maxlength</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;200&quot;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
AND column6 IN (<span style="color: #333333;"><span style="color: #800000;">&lt;cfqueryparam</span> <span style="color: #0000ff;">value</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;#variable3#&quot;</span> <span style="color: #0000ff">cfsqltype</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;cf_sql_integer&quot;</span> <span style="color: #0000ff">list</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;true&quot;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>)
<span style="color: #333333;"><span style="color: #800000;">&lt;/cfquery&gt;</span></span></pre></div></div>

<p>There are limitations to the use of the <code>cfqueryparam</code> tag. In ColdFusion 7 for example, you cannot use them in queries using the <code>cachedWithin</code> attribute. Similarly, they cannot be used in <code>ORDER BY</code> clauses, although the use of conditional logic should resolve the need for order by variables.
</li>
<li>Functions &#8211; As a rule of thumb, validate <em>all</em> the data being passed into a query prior to it being used. ColdFusion MX 7 saw the introduction of the <code>isValid()</code> function. This function tests whether a value meets a validation or data type rule and can be used to replace a large number of type-specific functions such as <code>isArray()</code>, <code>isBinary()</code>, <code>isBoolean()</code>, <code>isDate()</code>, <code>isNumeric()</code> and <code>isSimpleValue()</code> etc.
</li>
<li>Stored Procedures &#8211; I often favour the use of stored procedures over standard queries. Not only do they add an additional level of performance, they provide an additional level of security; ColdFusion does not do any raw processing of queries in the web code, it simply passes variables down the wire to the database server.</li>
</ul>
<h3>Additional Resources</h3>
<ul>
<li>
<a href="http://www.amazon.com/Web-Security-Privacy-Commerce-2nd/dp/0596000456/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1218663002&#038;sr=8-1" title="Amazon: Web Security, Privacy and Commerce" target="_blank" rel="nofollow">Web Security, Privacy and Commerce</a></li>
<li>O&#8217;Reilly&#8217;s <a href="http://www.amazon.com/Web-Application-Hackers-Handbook-Discovering/dp/0470170778/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1218663073&#038;sr=1-1" title="Amazon: The Web Application Hacker's Handbook" target="_blank" rel="nofollow">The Web Application Hacker&#8217;s Handbook</a></li>
<li>Adobe&#8217;s whitepaper &#8211; <a href="http://www.adobe.com/devnet/coldfusion/articles/dev_security/coldfusion_security_cf8.pdf" title="Adobe: ColdFusion 8 Security PDF" target="_blank" rel="nofollow">ColdFusion 8 Developer Security Guidlines</a> (<abbr title="Portable Document Format">PDF</abbr>, 281k)</li>
<li>Adobe&#8217;s whitepaper &#8211; <a href="http://www.adobe.com/devnet/coldfusion/articles/dev_security/coldfusion_security_cf7.pdf" title="Adobe: ColdFusion 7 Security PDF" target="_blank" rel="nofollow">ColdFusion 7 Developer Security Guidlines</a> (<abbr title="Portable Document Format">PDF</abbr>, 217k)</li>
<li>Adobe DevNet &#8211; <a href="http://www.adobe.com/devnet/coldfusion/articles/stored_procs.html" title="Learning Stored Procedure Basics in ColdFusion 8" target="_blank" rel="nofollow">Learning Stored Procedure Basics in ColdFusion 8</a></li>
<li>0&#215;000000 # The Hacker Webzine&#8217;s article on <a href="http://www.0x000000.com/?i=610" title="The Hacker Webzine: Attacking ColdFusion" target="_blank" rel="nofollow">Attacking ColdFusion</a></li>
<li>Three part series from Mark Kruger (ColdFusion Muse) &#8211; <a title="Query String with cfqueryparam" href="http://www.coldfusionmuse.com/index.cfm/2008/7/21/query-string-with-cfqueryparam" target="_blank" rel="nofollow">Part 1</a>, <a title="Using CAST and ASCII" href="http://www.coldfusionmuse.com/index.cfm/2008/7/18/Injection-Using-CAST-And-ASCII" target="_blank" rel="nofollow">Part 2</a>, <a title="Using Order By" href="http://www.coldfusionmuse.com/index.cfm/2008/7/21/SQL-injection-using-order-by" target="_blank" rel="nofollow">Part 3</a></li>
<li>Brad Wood&#8217;s article on <a href="http://www.codersrevolution.com/index.cfm/2008/7/26/cfqueryparam-its-not-just-for-security-also-when-NOT-to-use-it" title="CFQueryParam is not just for security - When not to use it" target="_blank" rel="nofollow">CFQueryParam is not just for security</a>.</li>
</ul>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/how-to-protect-your-website-from-a-malicious-attack/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Installing Apache on Vista</title>
		<link>http://www.simonwhatley.co.uk/installing-apache-on-vista</link>
		<comments>http://www.simonwhatley.co.uk/installing-apache-on-vista#comments</comments>
		<pubDate>Wed, 08 Aug 2007 20:23:52 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[HTTP Server]]></category>
		<category><![CDATA[IIS 7]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=315</guid>
		<description><![CDATA[Following the purchase of a spangly new Toshiba laptop running Vista, and not one for making life simple, I decided not to run my development environment on IIS7, but rather, I wanted to install the latest version of Apache. The installation process was not a trivial matter!]]></description>
			<content:encoded><![CDATA[<p>Following the purchase of a spangly new Toshiba laptop running Vista, and not one for making life simple, I decided not to run my development environment on <acronym title="Internet Information Services">IIS</acronym>7, but rather, I wanted to install the latest version of Apache.</p>
<p>Installing Apache under Windows XP was relatively trivial. This is not the case under Windows Vista. The creation of the Apache service fails, but not overtly. Furthermore, the all-important conf directory can™t be set up by the installer, probably due to user permission problems.</p>
<p>I finally got it working with the following procedure. I used the latest version of Apache (2.2.4) and Windows Vista Business Edition.</p>
<ol>
<li>Uninstall any previous installations of Apache Web server (Start &gt; Control Panel &gt; Programs and Features).<br />
Make sure that all old Apache folders are also removed (e.g. like C:\Program Files\Apache Software Foundation\&#8230;).</li>
<li>Turn off your firewall via the Control Panel.</li>
<li>Stop User Account Control (UAC).</li>
<li>Get the most recent version of Apache from <a href="http://httpd.apache.org/" rel="nofollow" target="_blank" title="Apache Webserver">http://httpd.apache.org/</a> and put it on your desktop, or folder of your choosing. The file I used was called apache_2.2.4-win32-x86-no_ssl.msi, but for ease, it is a good idea to rename the install file to apache.msi.</li>
<li>Start &gt; All Programs &gt; Accessories Right-Click Command Prompt and choose œRun as Administrator.</li>
<li>Via the command prompt, navigate to the folder in which the apache.msi install file is located.</li>
<li>Type msiexec /i apache.msi on the command prompt.
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-command-prompt.png" alt="Apache Install Command Prompt" /></p>
</li>
<li>Run through the Apache installer.
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step01.png" alt="Apache Install Step 1" /></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step02.png" alt="Apache Install Step 2" /></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step03.png" alt="Apache Install Step 3" /></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step04.png" alt="Apache Install Step 4" /></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step05.png" alt="Apache Install Step 5" /></p>
<p style="text-align: center"><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step06.png" alt="Apache Install Step 6" /></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step07.png" alt="Apache Install Step 7" /></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step08.png" alt="Apache Install Step 8" /></p>
<p style="text-align: center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/08/apache-install-step09.png" alt="Apache Install Step 9" /></p>
</li>
<li>I™m running it as a development server, so I left the domain as &#8220;localhost&#8221;.</li>
<li>Choose the default server on port 80 for all users option.</li>
<li>The default installation directory is C:\Program Files\Apache Software Foundation\Apache2.2\, but again for ease, you could change the installation directory to C:\Apache.</li>
<li>Reboot your computer.</li>
<li>The little Apache feather icon won™t appear on the task bar under Vista with the present version of Apache (2.2.4). To remove the œerror box that says blank or &#8220;the operation completed successfully on startup, go to All Programs &gt; Startup, and remove the &#8220;Monitor Apache Servers&#8221; item there.</li>
<li>Browse to http://localhost. It should say &#8220;It works!&#8221; If it doesn&#8217;t, panick, or check your httpd.conf file by going to All Programs &gt; Apache HTTP Server 2.2.x &gt; Configure Apache Server &gt; Test Configuration. Follow the directions for fixing the configuration file.</li>
<li>Turn your firewall back on.</li>
<li>Turn UAC back on too, if you like to be constantly bugged by control messages!</li>
</ol>
<p>Good luck!<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/installing-apache-on-vista/feed</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
		<item>
		<title>Coldfusion MX Tuning</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-mx-tuning</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-mx-tuning#comments</comments>
		<pubDate>Thu, 06 Apr 2006 09:32:49 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Affecting Performance Hardware]]></category>
		<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Closed]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Moment of Truth]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Peter Freitag]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[Robi Sen]]></category>
		<category><![CDATA[Sarge]]></category>
		<category><![CDATA[software configuration]]></category>
		<category><![CDATA[Steven Erat]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[Tuning]]></category>
		<category><![CDATA[Virtual Machine]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Web server performance CFML application Macromedia JRun]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=73</guid>
		<description><![CDATA[For many ColdFusion developers, server setup, tuning, troubleshooting and configuration is one of the least understood areas of ColdFusion. Achieving the highest possible performance and scalability with a ColdFusion MX application is a complex combination of many different factors. Standard performance tuning guidelines in conjunction with the tips provided below should allow you to achieve maximum application performance and scalability. Performance refers to the response time of requests to CFML pages and Components (CFCs), whilst scalability refers to how the performance results change when the load on the server increases.]]></description>
			<content:encoded><![CDATA[<p>For many ColdFusion developers, server setup, tuning, troubleshooting and configuration is one of the least understood areas of ColdFusion. Achieving the highest possible performance and scalability with a ColdFusion MX application is a complex combination of many different factors. Standard performance tuning guidelines in conjunction with the tips provided below should allow you to achieve maximum application performance and scalability.</p>
<p>Performance refers to the response time of requests to CFML pages and Components (CFCs), whilst scalability refers to how the performance results change when the load on the server increases.</p>
<p>Factors Affecting Performance</p>
<ul>
<li>Hardware and software configuration</li>
<li>Database and other external system requests</li>
<li>Web server performance</li>
<li>CFML application</li>
</ul>
<h2>Macromedia</h2>
<ul>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18206">JRun 4.0: Configuring individual JVM settings for each JRun Server</a></li>
<li><a href="http://www.macromedia.com/devnet/java/articles/jrun_perf.html">The Moment of Truth: Tuning Performance in JRun Apps and Environment</a></li>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18744">JRun 4: General troubleshooting techniques for an unresponsive JRun server</a></li>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_19438">ColdFusion MX: Explanation of Request Timeout and threadWaitTimeout settings</a></li>
<li><a href="http://livedocs.macromedia.com/jrun/4/JRun_Administrators_Guide/jrundotxml2.htm">Server settings: the jrun.xml file</a></li>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18540">ColdFusion MX: Tips for performance and scalability</a></li>
</ul>
<h2>Sun</h2>
<ul>
<li><a href="http://java.sun.com/docs/hotspot/gc1.4.2/faq.html">Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine</a></li>
<li><a href="http://java.sun.com/docs/hotspot/gc1.4.2/">Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine</a></li>
<li><a href="http://java.sun.com/performance/reference/whitepapers/tuning.html">Java Tuning White Paper</a></li>
<li><a href="http://java.sun.com/performance/jvmstat/">jvmstat 3.0</a></li>
</ul>
<h2>Brandon Purcell</h2>
<ul>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=1068">ColdFusion Peformance Tuning Presentation</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=1062">Obtaining a Thread Dump with ColdFusion or JRun running as a Windows Service</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=1007">JRun Connection Closed Errors</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;REFERRER=year2003stats&#038;ENTRY=967">Performance Tuning and Monitoring Coldfusion or JRun</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=934">Java Thread and How does it work?</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=877">Advanced Debugging In JRun 4</a></li>
</ul>
<h2>Steven Erat</h2>
<ul>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2005/3/11/ContextSwitchingBad">Steven Erat&#8217;s blog: activeHandlerThreads or Simultaneous Requests: Less is More</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2005/2/7/CFMX7JRunSimReqs">Simultaneous Requests in CFMX 7</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm?mode=entry&#038;entry=B13095A3-45A6-2844-799942B3CBA5269E">Keep Library Loaded &#8211; Check this box to retain the library in RAM</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2006/2/21/SeeStack-is-here">SeeStack &#8211; Parse ColdFusion Thread Dumps Like a Pro!</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2005/11/28/Request-timed-out-waiting-for-an-available-thread-to-run">Request timed out waiting for an available thread to run</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm?mode=alias&#038;alias=CFStability1">Troubleshooting Tips For ColdFusion MX</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm?mode=entry&#038;entry=25A96CB1-45A6-2844-771A3A5C7DFD4201">Help! My ColdFusion MX Server is Slow!!!!</a></li>
</ul>
<h2>Peter Freitag</h2>
<ul>
<li><a href="http://www.petefreitag.com/articles/gctuning/">Peter Freitag&#8217;s blog: Tuning Garbage Collection Outline</a></li>
<li><a href="http://www.petefreitag.com/item/139.cfm">ColdFusion Garbage</a></li>
<li><a href="http://www.petefreitag.com/item/115.cfm">ColdFusion Memory Usage Stats</a></li>
<li><a href="http://www.petefreitag.com/item/101.cfm">Getting ColdFusion Server Metrics</a></li>
<li><a href="http://www.petefreitag.com/item/89.cfm">Have you tuned your JVM on ColdFusion MX yet?</a></li>
</ul>
<h2>Daemon</h2>
<ul>
<li><a href="http://blog.daemon.com.au/archives/000279.html">Daemonite blog: Maximum JVM heap size for CFMX</a></li>
<li><a href="http://blog.daemon.com.au/archives/000277.html">Enhancing CFMX logging</a></li>
</ul>
<h2>Others</h2>
<ul>
<li><a href="http://www.sumoc.com/blog/index.cfm?mode=entry&#038;entry=CDCDBF8B-5004-2066-B7460CDEAB79328F">CFMX JVM Tuning &#8211; The difference between MaxPermSize and Heap Size</a></li>
<li><a href="http://www.sargeway.com/blog/index.cfm?mode=entry&#038;entry=27">Sarge&#8217;s blog: CFMX Performance Settings (JRun 50% CPU thread)</a></li>
<li><a href="http://www.robisen.com/index.cfm?mode=entry&#038;entry=FD4BE2FC-55DC-F2B1-FED0717CC1C7E0AF">Robi Sen&#8217;s blog: Hung Servers, Java.lang.OutOFMemory errors and Tuning CF JVM</a></li>
<li><a href="http://www.folgmann.de/en/j2ee/gc.html">Misc: Java Garbage Collection Tuning</a></li>
<li><a href="http://www.javaperformancetuning.com/resources.shtml">Java Performance Tuning</a></li>
<li><a href="http://seefusion.com/">SeeFusion  ::  ColdFusion Server Monitoring</a></li>
</ul>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/coldfusion-mx-tuning/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion (CFML) Engines</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-cfml-engines</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-cfml-engines#comments</comments>
		<pubDate>Mon, 27 Mar 2006 22:02:25 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe ColdFusion]]></category>
		<category><![CDATA[app server]]></category>
		<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[BlueDragon]]></category>
		<category><![CDATA[built-in web server]]></category>
		<category><![CDATA[CFML]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion Markup Language]]></category>
		<category><![CDATA[Coral Web Builder]]></category>
		<category><![CDATA[Digital Lattice Orange]]></category>
		<category><![CDATA[engines]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IgniteFusion]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSP]]></category>
		<category><![CDATA[less closed technology]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[New Atlanta]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[Railo]]></category>
		<category><![CDATA[Scripting Engines]]></category>
		<category><![CDATA[Smith Project]]></category>
		<category><![CDATA[Web Builder]]></category>
		<category><![CDATA[web development platforms]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[Web technology industry standards]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=64</guid>
		<description><![CDATA[CFML is the name of the scripting language used by ColdFusion and several alternative server environments. It stands for ColdFusion Markup Language and is similar to HTML in appearance in that it uses tags. CFML is the code that powers ColdFusion, a program available from Adobe (formerly Macromedia), as well as such engines as BlueDragon, IgniteFusion, Railo, Coral Web Builder, and other web development platforms.]]></description>
			<content:encoded><![CDATA[<p>CFML is the name of the scripting language used by ColdFusion and several alternative server environments. It stands for ColdFusion Markup Language and is similar to HTML in appearance in that it uses tags. CFML is the code that powers ColdFusion, a program available from Adobe (formerly Macromedia), as well as such engines as BlueDragon, IgniteFusion, Railo, Coral Web Builder, DigitalLattice Orange and other web development platforms.</p>
<p>ColdFusion originated as proprietary technology based on Web technology industry standards. However, it is becoming a less closed technology through the availability of competing products. In fact, one could now make the argument that ColdFusion is even less platform bound than say raw J2EE or .NET, simply because ColdFusion will run on top of a .NET app server (New Atlanta), or on top of any J2EE app server (Websphere, JRun, Tomcat, etc.) In theory, you could move a ColdFusion app unchanged from a J2EE app server to a .NET app server.</p>
<p>Currently, alternative server platforms generally support Coldfusion MX 6.1 functionality, with minor changes or feature enhancements.</p>
<p>I have listed some of the alternatives in order of maturity/populrity.  However, I will leave it up to you to decide which one is the best and easiest to implement.  Please tell me your experiences.</p>
<h2>BlueDragon</h2>
<p>The BlueDragon Server family of Java-based servers (Server and Server JX) enables the stand-alone deployment of CFML. Both BlueDragon Server versions contain a built-in web server for development and testing, and each integrates with Microsoft IIS, Sun ONE/Netscape/iPlanet (JX only), and Apache web servers for deployment.</p>
<p>BlueDragon offers flexibility for the deployment of ColdFusion Markup Language (CFML) pages with native technology platform integration on the operating system, web server and database of your choice.</p>
<p>Visit the New Atlanta website at <a target="_blank" href="http://www.newatlanta.com/products/bluedragon/index.cfm">http://www.newatlanta.com</a> to download the latest version of BlueDragon.</p>
<h2>Railo</h2>
<p>Railo is a ColdFusion Compiler for translating and executing of ColdFusion based websites. The Compiler translates the ColdFusion code into Java classes which can be executed on a Java server. Railo also comes with a runtime engine, which contains all necessary libraries for the translated code. Railo automatically detects wether to translate a ColdFusion file or when to use the runtime engine. You can compare Railo at best with <acronym title="Java Server Pages">JSP</acronym> interfaces. <acronym title="Java Server Pages">JSP</acronym> uses an other syntax but the main functionality is almost the same. Because Railo implements most of the <acronym title="Java Server Pages">JSP</acronym> interfaces, it is highly compatible to <acronym title="Java Server Pages">JSP</acronym> interfaces.</p>
<p>Visit the Railo website at <a target="_blank" href="http://www.railo.ch/en/index.cfm">http://www.railo.ch</a></p>
<h2>IgniteFusion</h2>
<p>IgniteFusion is a ColdFusion compatible script engine that runs ColdFusion scripts. In addition to Coldfusion <acronym title="ColdFusion Markup Language">CFML</acronym> compatibility IgniteFusion has functionality that extends Coldfusion.  Although in Beta, it is approaching release.</p>
<p>Visit the IgniteFusion website at <a target="_blank" href="http://www.ignitefusion.com/">http://www.ignitefusion.com</a> to download the scripting engine.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/coldfusion-cfml-engines/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlueDragon &#8211; ColdFusion (CFML) Engine</title>
		<link>http://www.simonwhatley.co.uk/bluedragon-coldfusion-cfml-engine</link>
		<comments>http://www.simonwhatley.co.uk/bluedragon-coldfusion-cfml-engine#comments</comments>
		<pubDate>Wed, 19 Oct 2005 12:40:59 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[BD.NET]]></category>
		<category><![CDATA[BlueDragon]]></category>
		<category><![CDATA[BlueDragon Server]]></category>
		<category><![CDATA[built-in web server]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion Markup Language]]></category>
		<category><![CDATA[free web application platforms]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[less closed technology]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[New Atlanta]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[Scotland]]></category>
		<category><![CDATA[Scripting Engines]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[TagServlet Ltd]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[Web technology industry standards]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=4</guid>
		<description><![CDATA[The BlueDragon Server family of Java-based servers (Server and Server JX) enables the stand-alone deployment of CFML. Both BlueDragon Server versions contain a built-in web server for development and testing, and each integrates with Microsoft IIS, Sun ONE/Netscape/iPlanet (JX only), and Apache web servers for deployment.]]></description>
			<content:encoded><![CDATA[<p>The BlueDragon Server family of Java-based servers (Server and Server JX) enables the stand-alone deployment of CFML. Both BlueDragon Server versions contain a built-in web server for development and testing, and each integrates with Microsoft IIS, Sun ONE/Netscape/iPlanet (JX only), and Apache web servers for deployment.</p>
<p>BlueDragon offers flexibility for the deployment of ColdFusion Markup Language (CFML) pages with native technology platform integration on the operating system, web server and database of your choice.</p>
<p><a rel="nofollow" href="http://www.newatlanta.com/products/bluedragon/index.cfm">http://www.newatlanta.com</a></p>
<p>BlueDragon is an alternative CFML engine comparable to Macromedia&#8217;s ColdFusion. It is exclusively licensed and distributed by New Atlanta from TagServlet Ltd based out of Scotland. ColdFusion is a proprietary technology based on Web technology industry standards, however, it is becoming a less closed technology through the availability of potentially competing products.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>New Atlanta&#8217;s BlueDragon product, released in 2002, provides a ColdFusion MX 6.x-compatible platform to run CFML-based applications on a variety of platforms ( Windows, Linux, Mac OS, and more). While ColdFusion MX 7 offers new features not available in BlueDragon, some new features in CFMX 7 have long been in BlueDragon (such as sourceless deployment, server-based deployment on OS X, and more.)</p>
<p>BlueDragon 6.2 is available in four editions: BlueDragon Server and Server JX (similar to ColdFusion Standalone editions), BlueDragon for J2EE Application Servers (BD/J2EE), and BlueDragon for the Microsoft .NET Framework (BD.NET).</p>
<p>The first two editions are standalone servers which run on Windows, Linux, and OS X. With BD/J2EE, CFML applications can be deployed on any J2EE server, enabling integration of CFML and J2EE as enabled in CFMX. BD.NET uniquely extends the .NET framework and IIS to permit deployment of CFML applications as native .NET web applications, offering integration between CFML and ASP.NET that&#8217;s not possible with CFMX.</p>
<p>The Server JX, J2EE, and .NET editions of BlueDragon are commercial products which are available as 30 day unlimited trials which convert to a single-IP developer edition with no expiration. Purchase and licensing information is available on the BlueDragon site.</p>
<p>The Server edition, on the other hand, is free for deployment (though not for hosting, redeployment, or (as of the 6.2 release) commercial use. Intended to gain favor with those comparing to other free web application platforms, there are no differences in CFML tags supported in the free Server edition, but it supports only ODBC drivers on Windows (and only MySQL or PostgreSQL on Linux and OS X), it supports only IIS on Windows or Apache on Linux/OS X, and does not support secured (SSL) connections.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>None of the limitations of the free Server edition exist in the commercial Server JX, J2EE, or .NET editions.</p>
<p>BlueDragon offers several advantages (tags, functions, and other functionality) not found in ColdFusion. Similarly, there are a few tags and functions found in ColdFusion that are not supported currently in BlueDragon. New Atlanta maintains a complete list of incompatibilities with Macromedia ColdFusion MX in the documentation.</p>
<p>The .NET edition of BlueDragon may indeed be the most compelling edition for many, since it&#8217;s something that ColdFusion MX does not support. Designed to run on Microsoft&#8217;s .NET platform, BD.NET not only enables CFML applications to leverage the powerful benefits of the .NET platform, it also opens the door to integration between CFML and ASP.NET as well as .NET objects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/bluedragon-coldfusion-cfml-engine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

