New Mura update broke my custom cfm pages!

  • Aug 18, 2011
  • Mura, Mura Updates
  • Stephen "Stick" Hazen

But that is ok, I learned something new!
I don't know when the change came about, but I updated to the latest version 5.4.4599 and found that there is either a new file or a large change.  The file in question is:
[Site Directory]/includes/Application.cfc
I run a custom banner page so I can have those randomly generated images that you see above.
As a good Mura user I updated my site, actually I was bad and it had been months since I ran an update.  Everything went fine, like it normally does with Mura, but as I was doing some comment clean up I noticed my banners disappeared!  I worked fairly hard to get all those banners created and the code to work.  I haven't shared that code with anyone! Except for the sites I manage at work, and a Graphic Artist (Black Box Media Inc)... but other then that no one else... At first I though my host (hostek) had made a change.  After 15 minutes we both called it 'no joy' and went our separate ways to figure it out.  They wanted me to submit a ticket to have their staff work on it during normal business hours.  Before I did that I wanted to take a crack at it.  I tried running the cfm page by itself and I get Access Restricted.  No error, no explanation, nothing. That was something new! I was receiving a blank area where the images where supposed to be when viewing the site.  On a whim I started looking for the next closest application cfm or cfc. The application.cfc file located here:
[Site Directory]/includes/Application.cfc
With the lines of code as the culprit:

<cfif not listFindNoCase("styles.js.cfm,
templates.js.cfm,editor.css.cfm,default.js.cfm,
config.js.cfm",listLast(cgi.SCRIPT_NAME,"/"))>
    <cfoutput>Access Restricted.</cfoutput>

(1) I found the pesky Access Restricted.
(2) I guessed that if I included the name of my cfm files in the list everything would be back to normal.
I was right! I added all my cfm files in the list that stopped working, did an appreload, and everything went back to normal.
I made this little change :

<cfif not listFindNoCase("styles.js.cfm,
templates.js.cfm,editor.css.cfm,default.js.cfm,
config.js.cfm,FILE01.cfm,FILE02.cfm,FILEETC.cfm",
listLast(cgi.SCRIPT_NAME,"/"))>