<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet COSI</title>
	<link>http://planet.cosi.clarkson.edu/</link>
	<language>en</language>
	<description>Planet COSI - http://planet.cosi.clarkson.edu/</description>

<item>
	<title>Pete Freitag: Writing Secure CFML cfObjective 2013 Slides</title>
	<guid>http://www.petefreitag.com/item/819.cfm</guid>
	<link>http://www.petefreitag.com/item/819.cfm</link>
	<description>&lt;p&gt;Here are the slides to my cf.Objective() 2013 presentation &lt;a href=&quot;http://www.petefreitag.com/presentations/cfo13-writing-secure-cfml.pdf&quot;&gt;Writing Secure CFML&lt;/a&gt;, thanks to those who attended. Please stop by the &lt;a href=&quot;http://foundeo.com/&quot;&gt;Foundeo Inc.&lt;/a&gt; booth and say hi, if you are at the conference.&lt;/p&gt;
&lt;p&gt;I will be speaking on Locking Down ColdFusion tomorrow (Friday) at 10:10&lt;/p&gt;</description>
	<pubDate>Thu, 16 May 2013 19:37:38 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: Upgrading to Java 7 on Linux</title>
	<guid>http://www.petefreitag.com/item/818.cfm</guid>
	<link>http://www.petefreitag.com/item/818.cfm</link>
	<description>&lt;p&gt;Today I upgraded Java from 1.6 to 1.7 on a CentOS (RHEL) 6 Linux server, and ran into a small issue. Typically when I install java on linux I use the RPM packages, this allows you to run multiple versions of Java incase you need to roll back to a prior version. They have always worked flawless for me, until today. I typically install the rpm like so:&lt;/p&gt;
&lt;pre&gt;rpm -ivh jdk-7u17-linux-x64.rpm&lt;/pre&gt;
&lt;p&gt;But doing that yielded an error:&lt;/p&gt;
&lt;blockquote&gt;
	file /etc/init.d/jexec from install of jdk-2000:1.7.0_17-fcs.x86_64 conflicts with file from package jdk-2000:1.6.0_37-fcs.x86_64
&lt;/blockquote&gt;
&lt;p&gt;So you can't have both 1.6 and 1.7 installed at the same time using the java RPM installers.&lt;/p&gt;
&lt;p&gt;The solution is to run the &lt;code&gt;rpm&lt;/code&gt; command with the &lt;code&gt;-U&lt;/code&gt; flag instead of the &lt;code&gt;-i&lt;/code&gt; flag (to upgrade instead of install). Make sure you stop all processes using Java (eg ColdFusion, etc) first, then run:&lt;/p&gt;
&lt;pre&gt;rpm -Uvh jdk-7u17-linux-x64.rpm&lt;/pre&gt;</description>
	<pubDate>Wed, 10 Apr 2013 23:09:00 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: J2EE Sessions in CF10 Uses Secure Cookies</title>
	<guid>http://www.petefreitag.com/item/817.cfm</guid>
	<link>http://www.petefreitag.com/item/817.cfm</link>
	<description>&lt;p&gt;This week I helped out a client resolve an issue due to a change in behavior from CF9  to CF10. CF10 automatically  adds the secure flag to cookies when the request is over a secure HTTPS channel. CF9 and lower do not add the secure flag to your JSESSIONID cookies when the request is over HTTPS, you can set a flag to force it in all cases (by editing &lt;a href=&quot;http://www.petefreitag.com/item/740.cfm&quot;&gt;jrun-web.xml&lt;/a&gt;), but there is no way to do it conditionally.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It turns out this is a feature of Tomcat, not CF10&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I did some digging in the Tomcat source code and found that this functionaility is hard coded into Tomcat, and there is no config to control it. If you are curious you can see the source code here: &lt;a href=&quot;http://javasourcecode.org/html/open-source/tomcat/tomcat-7.0.29/org/apache/catalina/core/ApplicationSessionCookieConfig.java.html#line.141&quot;&gt;ApplicationSessionCookieConfig:141&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;
// Always set secure if the request is secure
if (scc.isSecure() || secure) {
    cookie.setSecure(true);
}
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;This can lead to session loss, BUT it is also a good security feature&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The secure flag on a cookie means that it will only send the cookie over a secure channel like HTTPS, so when a JSESSIONID cookie is set with a secure flag, it will not be sent on a HTTP request that is not HTTPS, so you have two sessions one for HTTPS and one for HTTP.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You can't securely share a session on both HTTP and HTTPS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;While a lot of people want to share a session between http and https there is no way to do it in a secure way, once the JSESSIONID is sent over HTTP you have an opportunity for a man in the middle to snatch it.&lt;/p&gt;
&lt;p&gt;A good way to solve this problem is to only use sessions on HTTPS, for any url that requires a session make sure it is over HTTPS. The best is to simply use HTTPS for everything.&lt;/p&gt;
&lt;p&gt;For this particular customer it would take a major rewrite to accomodate all HTTPS or to switch away from J2EE sessions (note for CFID/CFTOKEN sessions you can controll the secure flag of the cookies in the Application.cfc using this.sessionconfig.secure=true/false). So they needed a workaround.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here is a workaround (but know that it lessens the security of your sessions over https)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Keep in mind this workaround decreases security. So we need to remove the secure flag from the JSESSIONID cookie, and there is no easy way to do this in Tomcat or CFML that I'm aware of. So my solution was to rewrite the cookie in IIS using URL Rewrite, here's how you do this:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt; Install Microsoft URL Rewrite for IIS: http://www.iis.net/downloads/microsoft/url-rewrite&lt;/li&gt;
&lt;li&gt; Close IIS, and open it again.&lt;/li&gt;
&lt;li&gt; Click On the root server level node of IIS (so that this is applicable to all sites on your server),&lt;/li&gt;
&lt;li&gt; Double Click on the URL Rewrite icon&lt;/li&gt;
&lt;li&gt; Click on &lt;em&gt;Add Rule(s)&lt;/em&gt; &lt;/li&gt;
&lt;li&gt; Under &lt;em&gt;Outbound Rules&lt;/em&gt; select &lt;em&gt;Blank Rule&lt;/em&gt;&lt;/li&gt;
&lt;li&gt; Give it an arbitrary name, eg &lt;code&gt;RemoveSecureFlagOnJSESSIONID&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Under Match, select Matching Scope: &lt;code&gt;Server Variable&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; For Variable name use: &lt;code&gt;RESPONSE_Set-Cookie&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Variable Value: &lt;code&gt;Matches Pattern&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Using: &lt;code&gt;Regular Expressions&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Pattern: &lt;code&gt;^(.*JSESSIONID.*)Secure;(.*)$&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Under Action, Action Type: &lt;code&gt;Rewrite&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Action Properties: Value: &lt;code&gt;{R:1}{R:2}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Check replace existing server variable&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Or here's how you can add it to a single site using web.config files:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;rewrite&amp;gt;
            &amp;lt;outboundRules&amp;gt;
                &amp;lt;rule name=&quot;RemoveSecureJessionID&quot;&amp;gt;
                    &amp;lt;match serverVariable=&quot;RESPONSE_Set-Cookie&quot; pattern=&quot;^(.*JSESSIONID.*)Secure;(.*)$&quot; /&amp;gt;
                    &amp;lt;action type=&quot;Rewrite&quot; value=&quot;{R:1}{R:2}&quot; /&amp;gt;
                &amp;lt;/rule&amp;gt;
            &amp;lt;/outboundRules&amp;gt;
&amp;lt;/rewrite&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Note you can also use this technique to improve the security of JSESSIONID cookies on CF9 and lower by adding a HttpOnly flag or a secure flag to the cookie.&lt;/p&gt;</description>
	<pubDate>Fri, 05 Apr 2013 20:20:00 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: Learn about ColdFusion Security at cfObjective 2013</title>
	<guid>http://www.petefreitag.com/item/816.cfm</guid>
	<link>http://www.petefreitag.com/item/816.cfm</link>
	<description>&lt;p&gt;For the past two-three months ColdFusion has been increasingly targeted by attackers, as many have found out the hard way. Because my company &lt;a href=&quot;http://foundeo.com/&quot;&gt;Foundeo Inc.&lt;/a&gt; does a lot of work related to security on ColdFusion we have seen first hand a lot of interest in improving security practices among CF developers and administrators.&lt;/p&gt;
&lt;p&gt;One great way to learn about improving the security of your ColdFusion server and applications is to attend the &lt;a href=&quot;http://cfobjective.com/&quot;&gt;cf.Objective()&lt;/a&gt; conference, May 15-18th 2013. Here are some sessions that focus on security:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Beyond Encrypt(): Asymmetric Encryption, Digital Signature, and more&lt;/strong&gt; - Phil Duba&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Web Hacking Tools&lt;/strong&gt; - David Epler&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Locking Down CF Servers&lt;/strong&gt; - Pete Freitag (me)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Writing Secure CFML&lt;/strong&gt; - Pete Freitag (me)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mobile but Secure&lt;/strong&gt; - Bilal Soylu&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also want to point out that &lt;a href=&quot;http://foundeo.com/&quot;&gt;Foundeo Inc.&lt;/a&gt; is a sponsor of cf.Objective() and will have a booth, so please stop by and ask your security questions or learn about &lt;a href=&quot;http://foundeo.com/security/&quot;&gt;FuseGuard&lt;/a&gt; and &lt;a href=&quot;http://hackmycf.com/&quot;&gt;HackMyCF&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Wed, 06 Mar 2013 20:10:00 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: Session Loss and Session Fixation in ColdFusion</title>
	<guid>http://www.petefreitag.com/item/815.cfm</guid>
	<link>http://www.petefreitag.com/item/815.cfm</link>
	<description>&lt;p&gt;I often find myself explaining how the session fixation security hotfix (&lt;a href=&quot;http://helpx.adobe.com/coldfusion/kb/security-hotfix-coldfusion-8-8.html&quot;&gt;APSB11-04&lt;/a&gt;) might cause session loss under certain circumstances, so I figured it was time for a blog entry explaining it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ok, first what is session fixation?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A session fixation vulnerability exists when an attacker can direct the victim to use a specific session identifier. So for example, suppose I say hey follow this link:&lt;/p&gt;
&lt;pre&gt;http://example.com/index.cfm?CFID=1&amp;amp;CFTOKEN=2&lt;/pre&gt;
&lt;p&gt;Now when you visit this link, if CF allows you to use that new session identifier to maintain valid session, you have a session fixation problem. The attacker can now mirror the session id on his computer and also have access to your session.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How does ColdFusion session fixation protection work?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ColdFusion now checks to see if the CFID/CFTOKEN passed in the url, cookie, form, etc are valid &lt;strong&gt;for the current ColdFusion application&lt;/strong&gt;.  If the CFIDE/CFTOKEN passed do not correspond to a valid session in the CF application, then a new set of CFID/CFTOKEN is generated and set as cookies.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So how does this lead to session loss?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The only circumstances I'm aware of which causes session loss is due to having multiple ColdFusion applications that reside on the same domain, with different application names.&lt;/p&gt;
&lt;p&gt;So assume I have a domain with two ColdFusion applications &lt;code&gt;/apples/&lt;/code&gt; and &lt;code&gt;/oranges/&lt;/code&gt; each folder has its own Application.cfc or Application.cfm with a different application name (eg this.name=&quot;apples&quot; and this.name=&quot;oranges&quot;).&lt;/p&gt;
&lt;p&gt;Now consider the following condition:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Request /apples/&lt;/li&gt;
  &lt;li&gt;Successfully logs in under /apples/&lt;/li&gt;
  &lt;li&gt;Makes a request under /oranges/&lt;/li&gt;
  &lt;li&gt;Makes a request back to /apples/ &lt;em&gt;(they appear to be logged out)&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And here's what happens:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;User is given a set of cookies CFID=1 CFTOKEN=1&lt;/li&gt;
  &lt;li&gt;Session variable is set to keep user authenticated with session CFID=1 CFTOKEN=1&lt;/li&gt;
  &lt;li&gt;CF see's CFID=1 CFTOKEN=1 and says that is NOT a valid session for the Application &quot;oranges&quot;, here's a new set of session ids: CFID=2 CFTOKEN=2&lt;/li&gt;
  &lt;li&gt;CF see's CFID=2 CFTOKEN=2 and says that is NOT a valid session for the Application &quot;apples&quot; here's a new set of session ids: CFID=3 CFTOKEN=3, you are still technically logged in under CFID=1 and CFTOKEN=1 but your cookies no longer correspond to that session, so for all intensive purposes you are logged out of /apples/&lt;/li&gt; 
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;So how do you prevent the session loss?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are a few ways you can do this:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Set a path on the CFID and CFTOKEN cookies so the browser sends the correct cookie to the correct domain, you can do this in &lt;code&gt;OnSessionStart&lt;/code&gt; if you specify &lt;code&gt;this.setclientcookies=false&lt;/code&gt;. You can see an example of how to set the session cookies in my blog entry on &lt;a href=&quot;http://www.petefreitag.com/item/764.cfm&quot;&gt;HttpOnly session cookies&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;You can set both application names to be equivalent, that is change this.name=&quot;apples&quot; to this.name=&quot;fruit&quot; and this.name=&quot;oranges&quot; to this.name=&quot;fruit&quot; this will cause the two applications to also share application and session scopes, so that may not be a good idea if your applications clash on naming.&lt;/li&gt;
  &lt;li&gt;You can disable the session fixation patch in ColdFusion by adding the JVM argument &lt;code&gt;-Dcoldfusion.session.protectfixation=false&lt;/code&gt; to your server. This is a good way to find out if the session fixation patch is indeed causing your problem, or if it is something else. I recently helped a client with session loss, and their problem actually ended up being on the load balancer so it is handy to test using this before making code changes. But keep in mind that when you do this you are giving up some security.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;How can I further protect myself from session fixation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This patch doesn't fully protect you from session fixation attacks, you really should rotate session id's after a successful login, and terminate the session on logout. You can do this with two new functions on ColdFusion 10, &lt;code&gt;SessionRotate()&lt;/code&gt; and &lt;code&gt;SessionInvalidate()&lt;/code&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 01 Mar 2013 21:39:00 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: FuseGuard 2.3 Released</title>
	<guid>http://www.petefreitag.com/item/814.cfm</guid>
	<link>http://www.petefreitag.com/item/814.cfm</link>
	<description>&lt;p&gt;
My company &lt;a href=&quot;http://foundeo.com/&quot; title=&quot;products and services for ColdFusion developers&quot;&gt;Foundeo Inc.&lt;/a&gt; released version 2.3 of &lt;a href=&quot;http://foundeo.com/security/&quot;&gt;FuseGuard&lt;/a&gt; our Web Application Firewall for ColdFusion (and Railo too) servers.&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;http://foundeo.com/security/&quot;&gt;&lt;img src=&quot;http://www.petefreitag.com/images/blog/fuseguard-23.png&quot; alt=&quot;screenshot of fuseguard 2.3&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;This is a free upgrade for all customers already running version 2.0-2.2, here's a list of what's new in this release:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Updates to FuseGuard Manager (our web admin) include an updated responsive layout powered by Bootstrap, pagination on log tables, and other minor viewing tweaks.&lt;/li&gt;
  &lt;li&gt;Built-in support for X-Forwarded-For headers that are often used with Load Balancers and proxy servers. Must be turned on with firewall.setUseXForwardedFor(true) in configurator&lt;/li&gt;
  &lt;li&gt;Additional configuration settings for the IDValidationFilter and ScopeInjectionFilter&lt;/li&gt;
  &lt;li&gt;Implemented &lt;a href=&quot;http://content-security-policy.com/&quot;&gt;Content-Security-Policy headers&lt;/a&gt; and X-Frame-Options headers for FuseGuard Manager&lt;/li&gt;
  &lt;li&gt;Improved Railo Compatibility&lt;/li&gt;
  &lt;li&gt;CrossSiteScriptingFilter now more strict in non-form scopes&lt;/li&gt;
  &lt;li&gt;Added UTF7 bom detection in query string&lt;/li&gt;
  &lt;li&gt;Added the FuseGuardApplication component to simplify deployment in Application.cfc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope you will spend a few minutes to &lt;a href=&quot;https://foundeo.com/security/eval/&quot;&gt;download a trial&lt;/a&gt; and see how easy it is to add an additional layer of security to your ColdFusion applications with FuseGuard.&lt;/p&gt;
&lt;p&gt;If you want to see how it works you can also &lt;a href=&quot;http://www.youtube.com/watch?v=ubESB87vl5U&quot;&gt;watch this 10 minute video&lt;/a&gt; on YouTube.&lt;/p&gt;</description>
	<pubDate>Wed, 27 Feb 2013 23:49:00 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: CKEditor Spell Checker Plugin</title>
	<guid>http://www.petefreitag.com/item/813.cfm</guid>
	<link>http://www.petefreitag.com/item/813.cfm</link>
	<description>&lt;p&gt;There is now an official &lt;a href=&quot;http://foundeo.com/spell-checker/ckeditor.cfm&quot;&gt;CKEditor plugin for Foundeo Spell Checker&lt;/a&gt; which you can use to add a spell checker button to the CKEditor toolbar. We've had this unofficially for a while but wanted to put it out there for everyone to get.&lt;/p&gt; 
&lt;p&gt;This plugin has been tested on both CKEditor 3 and 4.&lt;/p&gt;</description>
	<pubDate>Fri, 21 Dec 2012 19:07:00 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: Adobe Says Go Ahead and Upgrade your ColdFusion JVM</title>
	<guid>http://www.petefreitag.com/item/812.cfm</guid>
	<link>http://www.petefreitag.com/item/812.cfm</link>
	<description>&lt;p&gt;This probably flew under the radar to many but Adobe has recently updated one of their support docs on upgrading JVM in ColdFusion, they now clearly state that you can upgrade to the latest minor release of a supported jvm version in ColdFusion:&lt;/p&gt;
&lt;blockquote&gt;
All ColdFusion users can upgrade Java to the latest minor version for their ColdFusion servers. For example, ColdFusion customers using jdk 1.6.0_x can upgrade to the latest jdk 1.6.0_x update. (At the time of writing, the current version is jdk 1.6.0_35.) All future JDK 1.6.0_x releases are supported.
&lt;/blockquote&gt;
&lt;p&gt;See &lt;a href=&quot;http://helpx.adobe.com/coldfusion/kb/upgrading-java-coldfusion.html&quot;&gt;http://helpx.adobe.com/coldfusion/kb/upgrading-java-coldfusion.html&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;This is great news because Oracle frequently releases security and bug fixes for Java, and ColdFusion customers have been reluctant to upgrade the JVM in the past due to worry about Adobe Support.&lt;/p&gt;</description>
	<pubDate>Wed, 24 Oct 2012 19:14:00 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Homework 3</title>
	<guid>http://www.timfanelli.com/?p=291</guid>
	<link>http://www.timfanelli.com/2012/10/homework-3/</link>
	<description>Everyone&amp;#8217;s design project 1 implementation should have a &amp;#8220;Gesture&amp;#8221; hierarchy (wether you called it Gesture or not, doesn&amp;#8217;t matter) and a &amp;#8220;Scoring&amp;#8221; hierarchy. Many of you also have a Player or &amp;#8220;hand&amp;#8221; object. For homework 3, you must implement the &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/10/homework-3/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Mon, 22 Oct 2012 17:31:52 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: Announcing CFML Weekly Email</title>
	<guid>http://www.petefreitag.com/item/811.cfm</guid>
	<link>http://www.petefreitag.com/item/811.cfm</link>
	<description>&lt;p&gt;I'm a huge fan of the weekly email newsletters: &lt;a href=&quot;http://javascriptweekly.com/&quot;&gt;JavaScript Weekly&lt;/a&gt; and &lt;a href=&quot;http://html5weekly.com/&quot;&gt;HTML5 Weekly&lt;/a&gt; from Peter Cooper. Keeping up with technology via blogs, twitter, etc is difficult to do, so getting sent an email summary of important or interesting things saves me a lot of time.&lt;/p&gt;
&lt;p&gt;Being an avid ColdFusion developer, I couldn't help but think something like this would be great for ColdFusion as well, so... &lt;a href=&quot;http://tinyletter.com/cfml&quot;&gt;I created one&lt;/a&gt;:&lt;/p&gt;
&lt;form action=&quot;https://tinyletter.com/cfml&quot; method=&quot;post&quot; target=&quot;popupwindow&quot;&gt;&lt;p&gt;&lt;label for=&quot;tlemail&quot;&gt;Enter your email address&lt;/label&gt;&lt;/p&gt;&lt;p&gt;&lt;input type=&quot;text&quot; name=&quot;email&quot; id=&quot;tlemail&quot; /&gt;&lt;/p&gt;&lt;input type=&quot;hidden&quot; value=&quot;1&quot; name=&quot;embed&quot; /&gt;&lt;input type=&quot;submit&quot; value=&quot;Subscribe&quot; /&gt;&lt;p&gt;&lt;a href=&quot;https://tinyletter.com/cfml&quot; target=&quot;_blank&quot;&gt;powered by TinyLetter&lt;/a&gt;&lt;/p&gt;&lt;/form&gt;
&lt;p&gt;I wanted something super simple to send the emails with, so I choose tinyletter, it's a service that was originally written in CFML by &lt;a href=&quot;http://twitter.com/pud&quot;&gt;Philip Kaplan&lt;/a&gt;, which he sold to MailChimp. I'm not sure if it is still running on CFML after the acquisition, MailChimp favors PHP.&lt;/p&gt;
&lt;p&gt;TinyLetter will work until we get to 5000 subscribers, then we will have to choose something else, right now after announcing this on twitter a few minutes ago we already have over 60 subscribers!&lt;/p&gt;
&lt;p&gt;The first issue will be sent today!&lt;/p&gt;</description>
	<pubDate>Fri, 19 Oct 2012 19:00:00 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Exam 1 Solution</title>
	<guid>http://www.timfanelli.com/?p=277</guid>
	<link>http://www.timfanelli.com/2012/10/ee363-exam1-solution/</link>
	<description>Here is a final solution to Exam 1&amp;#8230; please note: there&amp;#8217;s more than one way to skin a cat, particularly when it comes to software design. If your final solution is different than this, it&amp;#8217;s not wrong, per se. Final &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/10/ee363-exam1-solution/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Fri, 12 Oct 2012 18:50:16 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Exam 1 UML Diagram</title>
	<guid>http://www.timfanelli.com/?p=274</guid>
	<link>http://www.timfanelli.com/2012/10/ee363-exam-1-uml-diagram/</link>
	<description>For reference, here is the UML diagram shown on Exam 1. A final solution will be posted at 3:00pm today, as well. Initech Financial IT Management &amp;#8211; Building Security Model &amp;#160;</description>
	<pubDate>Fri, 12 Oct 2012 17:19:58 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Listening to records and reading cover notes to L.E. — new vinyl came in today: The XX Co-Exist. #parenting</title>
	<guid>http://family.timfanelli.com/?guid=73c286ec40c2c0ecf22e89987ec7d3b4</guid>
	<link>http://twitter.com/timfanelli/statuses/256156933424300032</link>
	<description>Listening to records and reading cover notes to L.E. -- new vinyl came in today: The XX Co-Exist. #parenting Continue reading &amp;#8594; &lt;a href=&quot;http://twitter.com/timfanelli/statuses/256156933424300032&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Wed, 10 Oct 2012 22:19:06 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: L.E.’s Website is now live!</title>
	<guid>http://family.timfanelli.com/?p=619</guid>
	<link>http://family.timfanelli.com/2012/10/l-e-s-website-is-now-live/</link>
	<description>Before you ask: &amp;#8220;Why?,&amp;#8221; consider who&amp;#8217;s child this is. http://www.lefanelli.com The site is set to aggregate any posts I put in the &amp;#8220;Baby&amp;#8221; category here, so it&amp;#8217;s mostly a duplicate&amp;#8230; but if all you care about is cute pictures and &amp;#8230; &lt;a href=&quot;http://family.timfanelli.com/2012/10/l-e-s-website-is-now-live/&quot;&gt;Continue reading &lt;span&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt; &lt;a href=&quot;http://family.timfanelli.com/2012/10/l-e-s-website-is-now-live/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Wed, 10 Oct 2012 22:01:35 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: L.E. and Mom</title>
	<guid>http://family.timfanelli.com/?p=616</guid>
	<link>http://family.timfanelli.com/2012/10/l-e-and-mom/</link>
	<description>L.E. was smiling before and after this picture, sleeping on mom &amp;#8212; but this is the only one I caught Jo smiling in  .

 &lt;a href=&quot;http://family.timfanelli.com/2012/10/l-e-and-mom/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Mon, 08 Oct 2012 13:59:18 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Babies and zombies are the same. Driven by impulse, and make all the same noises. Only diff is boobs vs brains. #parenting</title>
	<guid>http://family.timfanelli.com/?guid=9bd5e3e1d9d7a4b12250b0ad68afe309</guid>
	<link>http://twitter.com/timfanelli/statuses/254903224874713091</link>
	<description>Babies and zombies are the same. Driven by impulse, and make all the same noises. Only diff is boobs vs brains. #parenting Continue reading &amp;#8594; &lt;a href=&quot;http://twitter.com/timfanelli/statuses/254903224874713091&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Sun, 07 Oct 2012 11:17:19 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Had to pee while holding L.E.. I now appreciate that flap on my boxers. The person who invented that was obviously a dad. #parenting</title>
	<guid>http://family.timfanelli.com/?guid=9c73d6abd36af3faf2ad4509c036bb1d</guid>
	<link>http://twitter.com/timfanelli/statuses/254591860373348353</link>
	<description>Had to pee while holding L.E.. I now appreciate that flap on my boxers. The person who invented that was obviously a dad. #parenting Continue reading &amp;#8594; &lt;a href=&quot;http://twitter.com/timfanelli/statuses/254591860373348353&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Sat, 06 Oct 2012 14:40:04 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Three milestones this week!</title>
	<guid>http://family.timfanelli.com/?p=612</guid>
	<link>http://family.timfanelli.com/2012/10/three-milestones-this-week/</link>
	<description>L.E. is two weeks old today, and reached a couple other milestones this week as well. She was 5lbs 13oz at her doctors appt yesterday, putting her back at her birth weight! This means we can stop waking her to &amp;#8230; &lt;a href=&quot;http://family.timfanelli.com/2012/10/three-milestones-this-week/&quot;&gt;Continue reading &lt;span&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt; &lt;a href=&quot;http://family.timfanelli.com/2012/10/three-milestones-this-week/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Sat, 06 Oct 2012 01:47:09 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Photos from Oma’s visit</title>
	<guid>http://family.timfanelli.com/?p=524</guid>
	<link>http://family.timfanelli.com/2012/10/photos-from-omas-visit/</link>
	<description>Here&amp;#8217;s the photos from Oma&amp;#8217;s camera during her visit! I just put them up quickly, so a lot of them are close-duplicates&amp;#8230; I&amp;#8217;ll go through and clean up the album a little later when I have some time to spend &amp;#8230; &lt;a href=&quot;http://family.timfanelli.com/2012/10/photos-from-omas-visit/&quot;&gt;Continue reading &lt;span&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt; &lt;a href=&quot;http://family.timfanelli.com/2012/10/photos-from-omas-visit/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Mon, 01 Oct 2012 14:59:37 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Daddy’s little girl</title>
	<guid>http://family.timfanelli.com/?p=521</guid>
	<link>http://family.timfanelli.com/2012/10/daddys-little-girl/</link>
	<description>Oma got a great shot of L.E. with her dad during her visit . More pictures soon! Also got some good news from the Doctor this morning &amp;#8212; who took time out of her weekend away to follow up on &amp;#8230; &lt;a href=&quot;http://family.timfanelli.com/2012/10/daddys-little-girl/&quot;&gt;Continue reading &lt;span&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt; &lt;a href=&quot;http://family.timfanelli.com/2012/10/daddys-little-girl/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Mon, 01 Oct 2012 00:42:31 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Another long night in a hospital</title>
	<guid>http://family.timfanelli.com/?p=518</guid>
	<link>http://family.timfanelli.com/2012/09/another-long-night-in-a-hospital/</link>
	<description>L.E. had her first doctor appointment today with Dr. Szoke, who she was very impressed with . Unfortunately, though, we found out her bilirubin levels were still too high &amp;#8211; so we got to spend another night in a hospital &amp;#8230; &lt;a href=&quot;http://family.timfanelli.com/2012/09/another-long-night-in-a-hospital/&quot;&gt;Continue reading &lt;span&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt; &lt;a href=&quot;http://family.timfanelli.com/2012/09/another-long-night-in-a-hospital/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Fri, 28 Sep 2012 20:53:15 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Home at last</title>
	<guid>http://family.timfanelli.com/?p=513</guid>
	<link>http://family.timfanelli.com/2012/09/home-at-last/</link>
	<description>Finally have the family home! Well, 90.9% of us; our dog Basil is in good hands at our friends Scott&amp;#8217;s and Jill&amp;#8217;s place.

 &lt;a href=&quot;http://family.timfanelli.com/2012/09/home-at-last/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Tue, 25 Sep 2012 23:43:19 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Java Style Discussion</title>
	<guid>http://www.timfanelli.com/?p=256</guid>
	<link>http://www.timfanelli.com/2012/09/java-style-discussion/</link>
	<description>Here’s the recording of the Java Style discussion from Wednesday’s class, reviewing Java naming conventions, and JavaDoc style commenting.</description>
	<pubDate>Fri, 14 Sep 2012 10:59:46 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: “Project 1″ vs “Design Project 1″</title>
	<guid>http://www.timfanelli.com/?p=251</guid>
	<link>http://www.timfanelli.com/2012/09/project-1-vs-design-project-1/</link>
	<description>So I screwed up the naming of these things. To differentiate between &amp;#8220;10%&amp;#8221; projects and &amp;#8220;15%&amp;#8221; projects, we&amp;#8217;ll use &amp;#8220;Project&amp;#8221; vs &amp;#8220;Design Project&amp;#8221; respectively. To be clear, so far: Project 1 is 10% of your grade, and consists of: Homework &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/09/project-1-vs-design-project-1/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Thu, 13 Sep 2012 17:49:25 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Design Project 1 – Design Notes</title>
	<guid>http://www.timfanelli.com/?p=246</guid>
	<link>http://www.timfanelli.com/2012/09/ee363-design-project-1-design-notes/</link>
	<description>Here&amp;#8217;s a couple notes regarding design project 1 Your object model must represent Rock, Paper, Scissor, Lizard, Spock, Radioactive, Poisonous and Infested as objects under a common &amp;#8220;Gesture&amp;#8221; base type A Gesture must have a method called: getName() that returns &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/09/ee363-design-project-1-design-notes/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Thu, 13 Sep 2012 17:43:43 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Design Project 1</title>
	<guid>http://www.timfanelli.com/?p=237</guid>
	<link>http://www.timfanelli.com/2012/09/ee363-design-project-1/</link>
	<description>Here is EE363 Design Project 1: Rock, Paper, Scissors, Lizard, Spock; Radioactive, Poisonous, Infested edition! Update Posted on Thurs Sep 13:  http://www.timfanelli.com/2012/09/ee363-design-project-1-design-notes/ It is due Friday, September 28, 2012. All the details are in the PDF. Here are a few key bullet &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/09/ee363-design-project-1/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Wed, 12 Sep 2012 16:27:11 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: BigDecimal, RoundingMode, and currency values in Java</title>
	<guid>http://www.timfanelli.com/?p=234</guid>
	<link>http://www.timfanelli.com/2012/09/bigdecimal-roundingmode-and-currency-values-in-java/</link>
	<description>So admittedly Monday&amp;#8217;s discussion on BigDecimal was a fiasco. Here&amp;#8217;s a quick attempt to clean it up, and clarify usage of BigDecimal for representing currency values in our Pizza implementations. Consider the following test case, given the Beverage Decorator implementation &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/09/bigdecimal-roundingmode-and-currency-values-in-java/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Tue, 11 Sep 2012 16:06:16 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: Minor bug in ColdFusion 10 Linux Startup Scripts</title>
	<guid>http://www.petefreitag.com/item/810.cfm</guid>
	<link>http://www.petefreitag.com/item/810.cfm</link>
	<description>&lt;p&gt;Running ColdFusion 10 on Linux you might run into an issue when checking the server status, if your ColdFusion user account has a default shell of &lt;code&gt;/sbin/nologin&lt;/code&gt; (this is how your account should be setup for security purposes). So for example when you run:&lt;/p&gt;
&lt;pre&gt;/etc/init.d/coldfusion_10 status&lt;/pre&gt;
&lt;p&gt;You get this output&lt;/p&gt;
&lt;blockquote&gt;
This account is currently not available.
&lt;/blockquote&gt;
&lt;p&gt;If open up the file &lt;code&gt;/etc/init.d/coldfusion_10&lt;/code&gt; in an editor you will see that when ColdFusion invokes the status command on linux it doesn't pass a shell to use, so it tries to use &lt;code&gt;/sbin/nologin&lt;/code&gt; which ofcourse fails.&lt;/p&gt;
&lt;p&gt;To fix this look for this line:&lt;/p&gt;
&lt;pre&gt;
CFSTATUS='su $RUNTIME_USER -c &quot;cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -status&quot;'
&lt;/pre&gt;
&lt;p&gt;Replace the &lt;code&gt;su&lt;/code&gt; command with &lt;code&gt;$SUCMDFILE -s /bin/sh&lt;/code&gt; - the&lt;/p&gt;
&lt;pre&gt;
CFSTATUS='&lt;strong&gt;$SUCMDFILE -s /bin/sh&lt;/strong&gt; $RUNTIME_USER -c &quot;cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -status&quot;'
&lt;/pre&gt;
&lt;p&gt;This was also a problem in prior versions of ColdFusion as well, but it also failed when you tried to start, stop or restart. So it's great they have fixed it for start, stop, restart but they missed the status command.&lt;/p&gt;
&lt;p&gt;I have filed this as a bug with Adobe: &lt;a href=&quot;https://bugbase.adobe.com/index.cfm?event=bug&amp;amp;id=3325996&quot;&gt;Bug #3325996&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 06 Sep 2012 19:40:00 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: JUnit &amp; Liskov Substitution Demo from Lecture 3</title>
	<guid>http://www.timfanelli.com/?p=232</guid>
	<link>http://www.timfanelli.com/2012/09/junit-liskov-substitution-demo-from-lecture-3/</link>
	<description>Here’s the video of the demo from Lecture 3, Monday Sept 3. The demo shows the steps required to enable JUnit for unit testing your Java applications in IDEA, and walks through the “Shapes” hierarchy showing the LSP violation, and fix using a new interface.</description>
	<pubDate>Tue, 04 Sep 2012 01:45:22 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Exam Schedule</title>
	<guid>http://www.timfanelli.com/?p=229</guid>
	<link>http://www.timfanelli.com/2012/09/ee363-exam-schedule/</link>
	<description>As requested, here are the exam dates for Fall 2012. Both exams will be in-class on the days posted. Exam 1: Wednesday, October 10, 2012 Exam 2: Wednesday, November 14, 2012 &amp;#160;</description>
	<pubDate>Mon, 03 Sep 2012 17:30:52 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Lectures 2 and 3</title>
	<guid>http://www.timfanelli.com/?p=225</guid>
	<link>http://www.timfanelli.com/2012/09/ee363-lectures-2-and-3/</link>
	<description>Here are the lecture slides from Friday Aug 31, and Monday Sept 3. Lecture 2 Aug 31 &amp;#8211; Liskov Lecture 3 Sept 3 &amp;#8211; Liskov, Interfaces, JUnit</description>
	<pubDate>Mon, 03 Sep 2012 17:26:28 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Homework 2</title>
	<guid>http://www.timfanelli.com/?p=219</guid>
	<link>http://www.timfanelli.com/2012/09/219/</link>
	<description>Homework 2 is available here: EE363 Homework 2 Please read Chapter 3 of the text book, and complete this assignment before 2:00P Friday, Sept 7.</description>
	<pubDate>Mon, 03 Sep 2012 17:22:36 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Text Book Update -</title>
	<guid>http://www.timfanelli.com/?p=215</guid>
	<link>http://www.timfanelli.com/2012/08/text-book-update/</link>
	<description>Hello Everyone - It appears the Clarkson email system stripped my attachment because it was too large. I posted the Chapter 1 reading here: https://www.timfanelli.com/secured/ You will need to log in using the same username and password I gave you &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/08/text-book-update/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Thu, 30 Aug 2012 17:28:11 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Fibonacci Generator demonstration</title>
	<guid>http://www.timfanelli.com/?p=190</guid>
	<link>http://www.timfanelli.com/2012/08/190/</link>
	<description>This video will demonstrate the use of IntelliJ IDEA to create a simple Java Application which generates and displays a Fibonacci sequence.</description>
	<pubDate>Mon, 27 Aug 2012 18:00:51 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: EE363 Homework 1: Things That Change</title>
	<guid>http://www.timfanelli.com/?p=202</guid>
	<link>http://www.timfanelli.com/2012/08/ee363-homework-1-things-that-change/</link>
	<description>Homework one is due at the start of class (2:00PM EDT) on Friday August 31, 2012. Homework 1: Things That Change This assignment will guide you through implementing a Number Generator application that is capable of generating either Fibonacci numbers, &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/08/ee363-homework-1-things-that-change/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Mon, 27 Aug 2012 16:00:37 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Lecture 1: Hello World Demo</title>
	<guid>http://www.timfanelli.com/?p=199</guid>
	<link>http://www.timfanelli.com/2012/08/lecture-1-hello-world-demo/</link>
	<description>Download Lecture 1 Slides
Download the EE363 Syllabus
This is the “Hello World” demonstration from EE363 lecture 1. It demonstrates the use of IntelliJ IDEA to impement a simple Java Program, run the application, and synchronize the repository with Subversion.</description>
	<pubDate>Fri, 24 Aug 2012 13:36:33 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: JavaScript Confirm Modal using Bootstrap</title>
	<guid>http://www.petefreitag.com/item/809.cfm</guid>
	<link>http://www.petefreitag.com/item/809.cfm</link>
	<description>&lt;p&gt;Back in the olden days you might have added code like this to your form onsubmit, or an anchor to do a javascript confirmation box:&lt;/p&gt;
&lt;pre&gt;&amp;lt;a href=&quot;delete.cfm&quot; onclick=&quot;return confirm('Are you sure you want to delete?');&quot;&amp;gt;Delete&amp;lt;/a&amp;gt;&lt;/pre&gt;
&lt;p&gt;That works, but using &lt;code&gt;onclick&lt;/code&gt; is not elegant and can lead to major issues when trying to implement things like &lt;a href=&quot;http://content-security-policy.com/&quot;&gt;Content-Security-Policy headers&lt;/a&gt;.
&lt;p&gt;Looking for a better way to do this? Here's how you can do this leveraging the Bootstrap modal control:
&lt;p&gt;First I add some JS to my document ready event handler:&lt;/p&gt;
&lt;pre&gt;
$(document).ready(function() {
	$('a[data-confirm]').click(function(ev) {
		var href = $(this).attr('href');
		if (!$('#dataConfirmModal').length) {
			$('body').append('&amp;lt;div id=&quot;dataConfirmModal&quot; class=&quot;modal&quot; role=&quot;dialog&quot; aria-labelledby=&quot;dataConfirmLabel&quot; aria-hidden=&quot;true&quot;&amp;gt;&amp;lt;div class=&quot;modal-header&quot;&amp;gt;&amp;lt;button type=&quot;button&quot; class=&quot;close&quot; data-dismiss=&quot;modal&quot; aria-hidden=&quot;true&quot;&amp;gt;×&amp;lt;/button&amp;gt;&amp;lt;h3 id=&quot;dataConfirmLabel&quot;&amp;gt;Please Confirm&amp;lt;/h3&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=&quot;modal-body&quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=&quot;modal-footer&quot;&amp;gt;&amp;lt;button class=&quot;btn&quot; data-dismiss=&quot;modal&quot; aria-hidden=&quot;true&quot;&amp;gt;Cancel&amp;lt;/button&amp;gt;&amp;lt;a class=&quot;btn btn-primary&quot; id=&quot;dataConfirmOK&quot;&amp;gt;OK&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;');
		} 
		$('#dataConfirmModal').find('.modal-body').text($(this).attr('data-confirm'));
		$('#dataConfirmOK').attr('href', href);
		$('#dataConfirmModal').modal({show:true});
		return false;
	});
});
&lt;/pre&gt;
&lt;p&gt;Now to trigger this in my HTML, I just add a data-confirm attribute to an anchor tag:&lt;/p&gt;
&lt;pre&gt;&amp;lt;a href=&quot;delete.cfm&quot; data-confirm=&quot;Are you sure you want to delete?&quot;&amp;gt;Delete&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 22 Aug 2012 00:54:00 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: Understanding HashDos and postParameterLimit</title>
	<guid>http://www.petefreitag.com/item/808.cfm</guid>
	<link>http://www.petefreitag.com/item/808.cfm</link>
	<description>&lt;p&gt;I received a question today about the postParameterLimit that was added to ColdFusion 8,9 by security hotfix APSB12-06 and exists in ColdFusion 10 by default (it is also configurable in the CF10 administrator).&lt;/p&gt;
&lt;p&gt;The question I was asked about this was:&lt;/p&gt;
&lt;blockquote&gt;
 I was wondering your opinion on the maximum level of this setiing in relation to security.
&lt;/blockquote&gt;
&lt;p&gt;I've also seen a lot of people unclear why they are getting a 500 Server Error (&lt;code&gt;coldfusion.filter.FormScope$PostParametersLimitExceededException: POST parameters exceeds the maximum limit specified in the server.&lt;/code&gt;) when posting a lot of form variables, so let's dig in to this issue.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step back and learn about the HashDos Vulnerability&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First we need to understand the vulnerability that this setting is meant to protect, called &lt;a href=&quot;http://www.petefreitag.com/item/801.cfm&quot;&gt;&lt;em&gt;HashDos&lt;/em&gt;&lt;/a&gt;. To do that we need to take another step back and learn about how hashing algorithms work. When you store something in a struct in ColdFusion, eg form[&quot;pete&quot;], it will create a hash of the key in this case &quot;pete&quot;, it hashes the value to an integer, let's suppose that &quot;pete&quot;.hashCode() == 8&lt;/p&gt;
&lt;p&gt;All hash algorithms have the possibility of creating a collision, where two different strings result in the same hash code. So let's say that &quot;peter&quot;.hashCode() == 8 as well. You don't want form[&quot;peter&quot;] to return the result of form[&quot;pete&quot;] so the hash table creates a bucket for each integer code. If the bucket contains multiple items then each item in the bucket is compared (this is slow).&lt;/p&gt;
&lt;p&gt;Because this collision comparison is so slow, this is where the opportunity for the Denial of Service comes into play. If you can construct a request which results in thousands of hash collision lookups the request can take seconds to several minutes to process. For example with around 50,000 collisions my quad core mac pro with 15 gb of ram took close to 30 minutes to process the request (whose total size was less than 2mb).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HashDos does not only pertain to form post variables&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Any time you store a lot of keys in a struct you have the potential for a HashDOS. The URL scope would potentially be vulnerable too but the web server will typically limit the size of the query string. Another place this might come up is if you accept Xml or JSON strings from external sources, which are then parsed into a struct. So keep this in mind whenever you accept external input that might yield struct keys.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So how to you fix HashDOS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ColdFusion added the &lt;code&gt;&lt;strong&gt;postParameterLimit&lt;/strong&gt;&lt;/code&gt; setting to &lt;code&gt;neo-runtime.xml&lt;/code&gt; to mitigate the effects of the HashDos vulnerability, which existed in many web application servers. Adobe set their default limit to 100, while Microsoft set their default limit to 1000 for ASP.NET.&lt;/p&gt;
&lt;p&gt;Getting back to the original question how high can you set this value? -- the answer is that you want to set this as low as your application allows. The actual number of what you can handle depends on what your hardware can handle, and what an acceptable wait time is for the end user.&lt;/p&gt;</description>
	<pubDate>Wed, 01 Aug 2012 20:58:00 +0000</pubDate>
</item>
<item>
	<title>Timothy Fanelli: Disable Global Security in WebSphere Application Server</title>
	<guid>http://www.timfanelli.com/?p=181</guid>
	<link>http://www.timfanelli.com/2012/07/disable-global-security-in-websphere-application-server/</link>
	<description>Had to do this at a customer location today, because their security group had an issue defining the cell&amp;#8217;s security certificates. Personally, I&amp;#8217;ve also had to do this because I brought up old cells I couldn&amp;#8217;t remember the passwords too, &amp;#8230; &lt;a href=&quot;http://www.timfanelli.com/2012/07/disable-global-security-in-websphere-application-server/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
	<pubDate>Wed, 18 Jul 2012 13:13:13 +0000</pubDate>
</item>
<item>
	<title>Pete Freitag: ColdFusion 10 Security Enhancements Presentation</title>
	<guid>http://www.petefreitag.com/item/807.cfm</guid>
	<link>http://www.petefreitag.com/item/807.cfm</link>
	<description>&lt;p&gt;I've given a couple presentations now on the &lt;a href=&quot;http://www.petefreitag.com/presentations/coldfusion-10-security-enhancements.pdf&quot;&gt;security enhancements in ColdFusion 10&lt;/a&gt;. The most recent was today at the Adobe ColdFusion Developer 2012, but I've also given it two other times for a Carahsoft webinar, and for the Carahsoft ColdFusion 10 Preview event in Washington DC. The slide deck was very similar for all three, but &lt;a href=&quot;http://www.petefreitag.com/presentations/coldfusion-10-security-enhancements.pdf&quot;&gt;today's slides&lt;/a&gt; are the most up to date.&lt;/p&gt;
&lt;p&gt;I hope you find it useful, there really are quite a few security enhancements in ColdFusion 10, so many that it's difficult to cover all of them in an hour!&lt;/p&gt;
&lt;p&gt;Here's a short list of some of the enhancements (not even including all of them):&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Secure Profile in installation&lt;/li&gt;
  &lt;li&gt;Weak password warnings in installation&lt;/li&gt;
  &lt;li&gt;Hotfix Installer&lt;/li&gt;
  &lt;li&gt;CF Admin IP restrictions&lt;/li&gt;
  &lt;li&gt;Tomcat - lots of security folks review tomcat, JRun... not so much&lt;/li&gt;
  &lt;li&gt;Session Cookie settings&lt;/li&gt;
  &lt;li&gt;New SessionRotate() and SessionInvalidate() functions&lt;/li&gt;
  &lt;li&gt;CFFile Upload accept allows file extensions, strict mode now checks file content mime type, not just the mime type the browser sends (though this can still be spoofed).&lt;/li&gt;
  &lt;li&gt;Hash iterations&lt;/li&gt;
  &lt;li&gt;HMAC Function&lt;/li&gt;
  &lt;li&gt;CSRF Token Functions&lt;/li&gt;
  &lt;li&gt;Ram disk application isolation&lt;/li&gt;
  &lt;li&gt;And several more!&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Thu, 07 Jun 2012 22:50:00 +0000</pubDate>
</item>

</channel>
</rss>
