Verity returning application.cfm
We've got a couple of sites using verity collections to
search cfml, html, and some mime documents. This is generally
successful. However, we do see coldfusion script-only pages
returning in the search results, including application.cfm, and
other cfm pages that do not display content to the end-user. Since
there is no HTML renderable content in these pages, why do they get
included in the results?
How can I control this behavior? I've looked at the verity
documentation, and am trying to use the mkvdk utility to delete
application.cfm from the collection documents, but am getting an
error. If I can get the syntax down correctly, is this the proper
way of addressing the problem?
For instance, I am using the command string:
mkvdk -delete -collection
C:\CFusionMX\verity\collections\intranet\file application.cfm
on my local development machine to try and test this, but get
an error BadKeys: application.cfm
I still think it's retarded that these types of files
included in the collection in the first place. Oh, we are running
CFMX6.1.
Thanks for any help.
Kris
My first thought, because I have made this mistake several
times is that the "A" in Application.cfm needs to be capital on
*nix systems. I am not sure if that includes Macs.
Similar Messages
-
Verity search results return application.cfm
We've got a couple of sites using verity collections to
search cfml, html, and some mime documents. This is generally
successful. However, we do see coldfusion script-only pages
returning in the search results, including application.cfm, and
other cfm pages that do not display content to the end-user. Since
there is no HTML renderable content in these pages, why do they get
included in the results?
How can I control this behavior? I've looked at the verity
documentation, and am trying to use the mkvdk utility to delete
application.cfm from the collection documents, but am getting an
error. If I can get the syntax down correctly, is this the proper
way of addressing the problem?
For instance, I am using the command string:
mkvdk -delete -collection
C:\CFusionMX\verity\collections\intranet\file application.cfm
on my local development machine to try and test this, but get
an error BadKeys: application.cfm
I don't understand why these types of files get included in
the collection in the first place. Oh, we are running CFMX6.1.
Thanks for any help.
KrisThe issue is not how to remove all CFM files from the
collection. We just want CFM files that do not output anything to
the user to be excluded from the search index. Most of the files in
this site are CFM files. Most importantly would be application.cfm,
form action pages, and other included files.
Certainly we could parse the results for a filename in a
predefined list, but we are trying to avoid defining this
programmatically; thinking that it is odd that these files get
included in the results at all. In the past we have segmented sites
using .cfm and .cfml as a way of excluding specific files from the
index (in the collection definition, we would not include the
specific extension as required). But this site has been in
production for some time, and is just now adding a search feature.
We don't want to rename files, and have to recheck every single
page and link in the entire site.
Does that explain what we're trying to do better?
Cheers,
Kris -
Problem with application.cfm
I'm just getting back into coldfusion after a few years...and
i'm already running into a problem with the application.cfm
What could cause this simple error when I try to go to a
coldfusion page (the cfm page would load prior to adding the
application.cfm). Also, can the application name be pretty much
anything? Thanks!
"unknown context error reached at the end of the CFML
templateInvalid expression format. The usual cause is an error in
the expression structure. The last successfully parsed CFML
construct was the CFML template beginning occupying document
position (1:1) to (1:1)."What are your Operating System, Coldfusion version and web
server? What happens when you experiment with an application file
as simple as this one?
Application.cfm
=============
<cfapplication name="myApp"
applicationtimeout="#createtimespan(1,0,0,0)#"
sessiontimeout="#createtimespan(0,0,20,0)#"
sessionmanagement="yes"
setclientcookies="yes"> -
Trying to understand an application.cfm attack
I have a site that I've been running without issue, for years now - I sniff and block for cross site scripting, sql injection, executable file uploads, and employ honeypot fields on forms...
This past week I wanted to watch some slow page loads for performance, noting their time to execute. I chose to use an application.cfm and an onrequestend.cfm to set a timestamp and to place it on the end of my pages. Prior to this, I have not utilzed an application.cfm. I'm pragmattic and look upon the application.cfm as a catch-all to do things that I should be planning better for in my application.
I soon found myself the recipient of a cross site scripting attack. I realised easily that I opened myself wide to this because the application.cfm runs _before_ everything, including my sniffer code. Derrrr!
I deleted the application.cfm and onrequestend.cfm and cleanded up my files having caught it same day and experiencing little damage. The attack was only inserting javascript into my index pages via the application.cfm . Rather ingenious and it was fun to find and consider. Payday loan spam.
I've been google'ing and reading on uploading vulnerabilities, but I can only find one instance where someone described their application.cfm file having been modified in similar fashion, the vector being a vulnerability in fckeditor - which I do not use. Nor do I use any other third party editor plugin.
An article I found mentions vulnerable files in legacy CFDOCS folder that allow access and uploads. I have a fresh install of CF9 so this did not exist. There was a cfx folder tree with some "example" code folders. I've zipped and deleted these.
I have changed ftp to use a non-standard port. Something that I used to do, but failed to re-instate when I moved to a different host. I have a ticket submitted to get help in blocking CFIDE path requests to the outside world (so that it will only be accessable locally via RDP).
If someone/something could modify the application.cfm file, why look for just it, unless it was just a lazy scripted attack looking for application.cfm files specifically. And while I did not have one before, why did someone not just upload their own?
How and why was my application.cfm changed, and why not the index.cfm files directly if they had some other avenue of access?
My question is this - can the application.cfm be tricked into modifying itself?
Thanks in advance!Sorry about that - a misunderstanding. When you said you "deleted the application.cfm and onrequestend.cfm and cleanded up my files...", I took that to mean you only deleted the code. I assumed the files to still be on the file system. For, to run a ColdFusion application of any substance, you do need an Application file.
aotgnat wrote:
The attack was only inserting javascript into my index pages via the application.cfm .
Not necessarily via the application file. What the attacker may very likely have exploited is a ColdFusion Cross Site Scripting (XSS) vulnerability. This link shows you that a cfform, user-agent HTTP header, etc. may be used in an XSS attack. (See the XSS vulnerabilities relevant to CF9, which include CVE-2009-3467, CVE-2010-1293, CVE-2011-0583, CVE-2011-0733, CVE-2011-0734, CVE-2011-0735, CVE-2011-2463, CVE-2011-4368). -
Application.CFM not loading?
Hi,
I've built several sites under prior versions of CF - but
just recently installed CF MX 7. I'm also new to Linux
installations.
On a site I've built - the pages seem to be working
correctly, except that variables being set in application.cfm are
not being recognized.
When I go to the pages that are utilizing the variables and I
replace them with static values -they are working fine. So I know
the CF server is running and there are no issues from that side.
Is there some CF Admin setting that can be turned off that
I'm not aware of? I know linux is case sensitive with file names -
I have application.cfm in all lower case. Is that wrong??
Any help would be greatly appreciated. My workaround would be
to add a <CFINCLUDE> to the top of all pages that need to
reference those global variables. I'd prefer not to do that.
Thanks!!Make sure the filename is "Application.cfm" (note the capital
A). Linux is case-sensitive. -
Symbolic Links do not work for Application.cfm in CF10
I have a Web, that use a symbolic link for centralized code.
The Application.cfm, stored in the original web-root, will not read from code
in the linked directory.
Thank you for your assistance.Adam,
it seems to be a bug.
The "Application.cfc/Application.cfm lookup order" in the ColdFusion Administrator seems not functional as expected. I did several tests and it happens not only at symbolic links. This happens on every subdirectory.
Am I wrong, when I expect, that the "highest" Application.cfm found in a tree should be executed?
Example:
Application.cfm
aaa.cfm
"subdir1" "subdir2"
bbb.cfm Application.cfm
ccc.cfm
Settings in the ColdFusion Administrator
Default order:
- aaa.cfm: should execute the Application.cfm in root (/) only.
- bbb.cfm: should execute the Application.cfm in root (/) only.
- ccc.cfm: should execute the Application.cfm in subdir2 only.
Until Webroot
- aaa.cfm: should execute the Application.cfm in root (/) only.
- bbb.cfm: should execute the Application.cfm in root (/) only.
- ccc.cfm: should execute first the Application.cfm root (/) and then in subdir2
In Webroot
- aaa.cfm: should execute the Application.cfm in root (/) only.
- bbb.cfm: should execute the Application.cfm in root (/) only.
- ccc.cfm: should execute the Application.cfm in root (/) only.
Am I wrong with this?
In my case, only "In Webroot" work as expected.
Torsten -
Which to use application.cfm or application.cfc?
Hi,
Just a general question, i have been using application.cfm
for my applications so far. I came across a tag that would be used
under application.cfc, but i tried putting both templates together
in one application and boom, an error showed up.
So, which is better to use with most of the applications
application.cfm or .cfc?
Thanks for any help!
SyedIt's actually a bit easier to use session and application
scope variables with Application.cfc, I think.
Application.cfc has methods for specific "events" or states:
onApplicationStart() -- where to load application variables,
security logic, etc.
onSessionStart() -- initialize session varialbes, etc.
onRequestStart() -- runs at the start of each page request
onRequestEnd()
onSessionEnd()
onApplicationEnd()
onError() -- very nice place to get some good
Application-wide error handling code in place
onRequest() -- be sure to read the notes on this
method...it's a bit different.
Check out the MX7 reference page for Application.cfc:
http://livedocs.adobe.com/coldfusion/7/htmldocs/wwhelp/wwhimpl/common/html/wwhelp.htm?cont ext=ColdFusion_Documentation&file=00000692.htm
CF* (if you're using that yet)
http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Part_3_CFML_Ref_1.html -
Turning off application.cfm
Hello,
not sure about this but is there a tag or method whereby I
can overwrite the CF servers automatic inclusion of an
application.cfm (.cfc). I have one page in a sub-subfolder of a
website where the application.cfm is in the top (parent) folder. I
am having problems including this page in a programme and am
looking at any possible causes for this.
One thought was that some methods in my application.cfm may
be causing the error. Without removing or altering the
application.cfm in anyway... is it possible to just deactivate it
on certain pages?
Thanks> not sure about this but is there a tag or method whereby
I can overwrite the
> CF servers automatic inclusion of an application.cfm
(.cfc).
No. There is not.
> I have one page in
> a sub-subfolder of a website where the application.cfm
is in the top (parent)
> folder.
To bypass this grandparent Application.cfm, you simply have
to a "nearer"
Application.cfm which is empty. But...
> I am having problems including this page
... Only the initial template referenced in a request
triggers the process
that seeks an Application.cfm. If you're simply including the
file,
Application.cfm plays no part in it (beyond what I already
said).
> One thought was that some methods in my application.cfm
There's no such thing as "methods" in an Application.cfm. Do
you mean
UDFs? Without you actually posting your error, it's a bit
hard to guess
WTF you're on about, to be honest.
> is it
> possible to just deactivate it on certain pages?
No.
Adam -
Passing variable from one server to another within different application.cfm
hello all.
currently , i have 3 server..
each is installed with coldfusion server.
let says,
server A,server B, and server C.
server A has the application.cfm for login.
from server A , I want to carry the login ID to server B(also
has application.cfm) or server C(also has application.cfm) without
having to login again.
Present, what I facing right now..
server A has the application.cfm login and then direct to
server B(also has application.cfm).
But at server B it will request user to relogin.
Same with server C.
should I changed and modified the application.cfm in server B
and C by removing 'cflogin statement'?
I have no idea.. :chomp: :confused:
Please anybody, help me with this..I'll admit I'm not the most educated on application/session
management but I'll try and help.
When a user logs into your CF server, it creates the session,
which is only for that server. That's probably the issue you're
running into when the user jumps from one server to the next. You
might want to try using a cookie and CFTOKEN on the login (server
A) and then use the application.cfm file on server B and C to check
for the existence of the token. If it's there (in the client
cookie) then it would allow them access.
---set the application in the application.cfm page on all 3
servers to the same name---
<cfapplication name="myappname"
sessionmanagement="Yes"
clientmanagement="Yes"
SESSIONTIMEOUT=#CreateTimeSpan(1, 0, 0, 0)#
setclientcookies="yes">
---then check for the cookie value on each server as well---
<CFIF IsDefined("Cookie.CFID") AND
IsDefined("Cookie.CFTOKEN")>
<CFSET Variables.CFID_LOCAL=Cookie.CFID>
<CFSET Variables.CFTOKEN_LOCAL=Cookie.CFTOKEN>
<CFCOOKIE NAME="CFID" VALUE="#Variables.cfid_local#">
<CFCOOKIE NAME="CFTOKEN"
VALUE="#Variables.cftoken_local#">
</cfif>
There might be some yes/no variables in the session
management you can set (yes on A, no on B and C) if the above does
not work. But with the users jumping across servers, the cookie
might be the best answer for you.
Actually, I realized something. You would want to set the
setclientcookies only on server A but have B and C check for the
cookie.
Hope some of this helps. -
Application Variables in application.cfm and asp
If anyone could provide some insight into using application
variables declared in application.cfm, but retrieved in asp code,
it would be appreciated.
GOAL: Retrieve values into an asp page from application
variables in application.cfm.
PROCESS: Defined the variables in application.cfm. On an asp
page, defined the application variable in Window -> Bindings.
The application variables defined in the source code show up.
Attempt to retrieve the application variable in the asp page by
using the command: var_destination = Application("var_name")
It seems like whatever I try, the variable is empty. After
looking around on the web, I also saw that the equivalent to
application.cfm in asp is global.asa. I also tried setting up this
file, along with the variables, did the binding, and used the same
commands, and also was not able to retrieve any application
variables.
What am I missing?What am I missing?
That ColdFusion and ASP.NET are different applications and do
not share
the same memory addresses So they are going to each have
their one
"application" variables.
Blue Dragon has implemented CFML as an ASP.NET language so
that one
could write ColdFusion that runs on the ASP.NET framework and
would then
use the same memory locations with their server.
Otherwise you are going to have to write your own sharing
tool. Some
code that can read the desired variables from one code base
and pass it
to the other code base through forms, web services or some
other manner. -
How to manage application.cfm in SVN environment
Should the application.cfm page even be committed/updated?
With all the different locals, branches and tags to take into
account, wouldn't this render the application.cfm page huge? How
are folks handling the application.cfm page?
Right now, our application.cfm page takes into consideration:
4 dev locals, 1 dev server and 1 production server. I'd like to
introduce branching into our workflow, just not sure how this will
affect this file.sk8, here goes. what we do isn't 100% what you're doing in
that we're not
dealing with different branches of code, but i'll try to
describe a way in
which i think this is easily accomodated. I'm certainly not
passing this off
as johnny-super-clever-normalized-i'm-so-smart...cause it's
not. but it has
worked for us for as long as i've been with this company and
has proven
extremely useful and extensible
first, we have two tables, applocations and applocationhosts.
applocations:
locationid | locname | webroot | codebaseroot | networkroot |
bunch of other
roots....whatver
1 | dev | / | \global\ | \\san\alpha\mysite | blah blah blah
2| test | /mysite/ | \global\ | \\san\\beta\mysite | blah
blah blah
3 | staging | /mysite | \global\ | \\someothersan\mysite |
blah blah blah
4 | prod | / | \global\ | \\prodsan\mysite\ | blah blah blah
5 | local | /mysite/ | \global\ | \\san\alpha\mysite | blah
blah blah
then applocations:
locationid | lochostname
1 | mysite.alpha.mycompany.com
2 | mysite.beta.mycompany.com
3| staging.mycompany.com
4 | mysite.com
4 | mysite2.com
4| mysite.org
5| localhost
then when the app is loaded, we have a query like this:
select * from applocations
where locationid = (select locationid from applocationhosts
where
lochostname = '#cgi.server_name#')
we then store the results in some application scoped
variables (i.e. this
query runs once until the application is reset)
then, in our code, we reference things like so:
<cfinclude
template="#application.codebaseroot#/blah/blah.cfm">
or
<img src="#application.webroot#\images\myimage.gif">
where codebaseroot is the root to the code (for cfincludes
and the like) and
webroot is used for all http-ish things like images,
cflocations, script
includes, etc.
now, in your case, with the different branches, you could
possibly just add
a few more rows onto applocations, like so:
7 | devtrunk | /mysite/trunk/ | \trunk\global\ | and so forth
8 | devtag | /mysite/tag | \tag\global\ | and so forth
and then possibly you could add another column onto
applocationhosts, like
so:
locationid | lochostname | key
8 | localhost | tag
and then your query might look something like this:
select * from applocations
where locationid = (select locationid from applocationhosts
where
lochostname = '#cgi.server_name#')
<cfif isDefined("url.key")>
and key = '#url.key#'
</cfif>
the only tricky thing about that would be that you'd
potentially have to
have a hook that recognizes that you're trying to change the
application's
variables, so you'd need to refresh the application. but that
shouldn't be
too tough.
at any rate, this works for us and has completely negated the
need to have
code that sets different paths based on environment.
Good luck Sk8!
"sk8save" <[email protected]> wrote in
message
news:[email protected]...
> That's the sort of things that I'm talking about yes.
>
> For each developer local (branch, trunk or tag), dev
server and production
> server there's an if statement that take cares of
application variables.
> There
> may only be 5-10, but I'm still curious to see how
people are dealing with
> this
> sort of thing.
> -
Setting/changing a date in application.cfm
I need to be able to set a date in the application.cfm file
for example
<CFSET APPLICATION.stopdate='10/15/2014'>
Then in my site on other pages I have code that says
<cfif reportdate GT #APPLICATION.stopdate#>Do This</cfif>
The problem is sometimes I need to change the APPLICATION.stopdate to another date during the middle of the day.
For example I need to change the APPLICATION.stopdate from 10/15/2014 to 10/25/2014
However I notice when I change the APPLICATION.stopdate in the application.cfm to another date during the middle of the day that the APPLICATION.stopdate stays the old date.
How do I make sure that the APPLICATION.stopdate changes sitewide when I change it in the application.cfm?
Do I use another variable scope?Yes, that's one use of the include directive, lets you add content inline. You missed an "@" there though. It's <%@ include...
EDIT: One word of warning; it is not mandatory for the container to recompile the including JSPs if the included resource is changed! It seems you have a smart container which detected that your included JSP had been modified and so it's reflecting the changes in the other files too. But this is not required behaviour and so you shouldn't count on it. AFAIK, Tomcat will also do the same.
Also, this is a good reason why, even though it seems like a good idea to put the DB URL into one JSP and include it everywhere so that you have only one entry to change when the DB changes, it's still risky. A better way would be to put it as a <context-param> or something similar.
Edited by: nogoodatcoding on Sep 28, 2007 10:15 PM -
Does ColdFusion need application.cfm to store the application parameter?
Is application.cfm is required in the ColdFusion application?
Your information and help is great appreciated,
Regards,
Iccsi,No. Application.cfm is very badly named: it should be OnRequestStart.cfm. It doesn't - intrinsically - have anything to do with applications in the ColdFusion sense of that notion.
What you do need, however, is a <cfapplication> tag that gets run on every request, to bind the request to an application (and, by proxy, to a session). The best place to put something that needs to be run every request is in Application.cfm.
That said, you ought to be using Application.cfc for this sort of thing, not Application.cfm. Application.cfm is - for all intents and purposes - obsolete. It still works, but it is grossly inferior to Application.cfc. And there is no reason to be using it in favour of going with the recommended Application.cfc route.
Adam -
Application.cfm and CFC's
for some reason my cfc is not seeing any of the variables set
in application.cfm. Furthermore it does not see them when I use
application.cfc. I am running 6.1MX on iis5. Any info would be
helpful.
ThanksDuke Snyder wrote:
> for some reason my cfc is not seeing any of the
variables set in
> application.cfm. Furthermore it does not see them when I
use application.cfc. I
> am running 6.1MX on iis5. Any info would be helpful.
>
> Thanks
>
In deference to Adam, I'm going to go ahead an make a guess.
Directory structure is very important here. Application.cfm
will only
apply to code that is run in the same directory or any sub
directory
there under. This applies to CFC's as well. A common idea is
to place
a CFC in some type of common folder that is outside the
normal
application structure, thus the CFC is not in the directory
structure
under which the Application.cfm file has dominion. So it will
not apply
in such a case.
If this is so, the fix is to either move the CFC so that it
is under the
Application.cfm dominion. Or to provide it it's own
<cfapplication...>
tag with the desired application name to be able to access
the desired
application scope. This can be done directly in the CFC file
or an
Application.cfm file in the CFC folder hierarchy.
Of course doing so really complicates the usefulness of
having CFCs in a
common place where they can be used by multiple applications
equally.
Thus providing a strong argument to the OOP concept of
encapsulation.
That an object (component) should not be aware of anything
outside of
itself and everything it needs to do its job should be passed
into it.
I.E. Pass the required application data into the component as
arguments
and make use of it that way. -
Application.cfm - Should I use queries or set session variables?
Hi,
I have an application that has many users for many different
companies logged in at the same time using the system. I use the
application.cfm to call and set a bunch of variables that make the
system work, such as preferences and things. Would it be better to
use 5 or 6 queries all pulling one record, or call the queries only
once at the start of the session and set 30 to 50 session variables
based on the query results? Which method would bog the system down
less? It seems that session variables use quite a bit of memory.
I'm just trying to get the "simple answer" for this, if that's even
possible.
Please let me know your thoughts and experience on this.
Thanks much,
Jeff W!In order to give you a simple "do it this way" answer, more
information is needed.
How long does it take to run those 5-6 queries on each
request? How many users are logged in at peak times? How much data
would you be storing in the session for each user? How much RAM do
you have on your server?
On one application, we've decided to go the session variable
route. The size for each users' session maxes out at 2.5 KB. We
have 512 MB dedicated to CF, but can easily scale up on the
hardware we have to 1.5 GB or more. At 512 MB, 2.5 KB per user
session, we can handle a little over 200,000 concurrent users
(assuming all CF memory could be utilized for session variables,
which isn't true). There are only 6,000 users total in our system,
so we have quite a bit of headroom.
Are you on CF8? If so, open up the server monitor, start
monitoring, profiling, and memory tracking, and log in with a
couple users (with your code setup to store all that info in the
session). See how much storage each session takes. Then look at
your server. How much RAM do you have? what do you currently have
allocated to ColdFusion? What's your peak concurrent user level? Do
you have headroom? Also, see if the benefits of storing it in the
session are even worth it (how long do those 5-6 queries add to
each requst?)
Maybe you are looking for
-
New Ipod Mini (2nd Generation) Unrecognized by Windows XP Pro
I'm beside myself with frustration after two days of trying to get this to work. Three XP Pro computers tell me "USB Device not recognized - One of the USB devices attached to this computer has malfunctioned - Windows does not recognize it. For assis
-
How to keep Report desinger report in web template
Hi All, I created one report in Report Designer. Now i want to add that report in WAD. I drag and Droped Report item in WAD. now how can i bind the reportdesigner report in WAD? (or) what are the steps after drag and droping the report item in WAD? p
-
Dreamweaver CS4 FTP Access Denied error
We recently purchased and installed Adobe CS 4 Design Suite. I am trying to install and configure Dreamweaver CS4 to maintain our website. I had a trial version on a PC which works fine. I have a Mac OS X 10.5.8 and I installed the newly purchased D
-
Wi-fi not working how to fix ?
hi everyone i have an iphone 4s , i'm updating my device to ios 6.1.1 but wi-fi stop working i can't tuned on , how to fix this problem ? thanks
-
I buy a iPad 2 in Romania and the official dealers refuse to repair
I bought official an iPod2 and Apple representatives from Romania refuses the assistance