首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >coldfusion application.cfm和受影响的文件

coldfusion application.cfm和受影响的文件
EN

Stack Overflow用户
提问于 2011-04-22 04:47:17
回答 4查看 4.5K关注 0票数 3

如果我有一个网站,其中有一个受保护的后端,并且我希望使用application.cfm文件,我如何区分哪些页面使用应用程序filesa,哪些不使用。

代码语言:javascript
复制
index.cfm
update/application.cfm
update/loginexpired.cfm
update/login.cfm
update/somesecurepage.cfm
update/someothersecurepage.cfm

如果登录正确,我希望updates/login.cfm创建会话。如果在没有正确登录的情况下访问安全页面update/somesecurepage.cfmupdate/someothersecurepage.cfm,应用程序应该转发到update/loginexpired.cfm,但我不希望其他任何页面使用application.cfm

这是合理的吗?还是我应该使用cfinclude

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-22 05:50:31

  1. 始终确保使用大写字母"A“命名Application.cfm和Application.cfc文件。这样,如果你从Windows移动到区分大小写的文件系统,你就不会遇到ColdFusion找不到你的Application.cfm/cfc文件的问题了。
  2. 就你的问题而言,根据你当前的结构,“
  3. ”文件夹中的所有文件都将使用Application.cfm文件。它将在这些文件中的任何其他代码之前执行。如果您只希望将某些页面重定向到登录过期的页面,那么我通常会创建一个子文件夹,在该文件夹中放置一个包含父文件夹中的Application.cfm文件的Application.cfm文件:<cfinclude template="../Application.cfm" />。然后,在此文件中添加安全检查。在父Application.cfm文件中,需要包含<cfapplication />标记。如果您正在使用会话,请确保在cfapplication标记中启用会话管理。(<cfapplication name="myappname" sessionmanagement="true" />)
  4. You确实应该在站点的根目录中有一个Application.cfm或Applciation.cfc文件。如果不这样做,应用程序将在没有应用程序范围的情况下运行。ColdFusion有一种“未命名”的应用程序,它可以在没有定义应用程序名称的情况下运行。你很可能会遇到不想要的效果。所有CF应用程序都应该有一个命名的应用程序,使用cfapplication标签或设置了this.name的Application.cfc文件。
  5. 如果您将此作为新的应用程序编写,我建议您使用Application.cfc而不是Application.cfm。您将能够访问应用程序、会话和请求生命周期(onApplicationStart/End、onSessionStart/End、onRequestStart/End)以及onError和onMissingTemplate事件处理程序,使您能够更好地控制application.

票数 4
EN

Stack Overflow用户

发布于 2011-04-27 12:40:53

加载.cfm页面时,它将首先在同一文件夹中查找Application.cfc (最新的推荐应用程序对象)并运行它。如果该文件不存在,它将查找Application.cfm (实例化应用程序的旧方法)。

如果这两个文件夹都不存在,它将在树中查找下一个文件夹,并在那里查找Application.cfc,然后是Application.cfm,它将重复此操作,直到找到一个或到达服务器的根目录。

因此,您在“更新”文件夹中列出的所有文件都将自动使用application.cfm。只有根目录中列出的index.cfm不会。(因为Application.cfc和Application.cfm都不在该文件夹中。)

因此,最好在站点的根目录中为每个人使用Application.cfc,然后将锁定的页面放在一个具有更多限制的Application.cfc的子文件夹中。

我希望这能直接回答你的问题。否则,我同意Sean的说法。

有关Application.cfc和Application.cfm的更多信息,请访问on Adobe's Coldfusion site

票数 1
EN

Stack Overflow用户

发布于 2011-04-22 20:29:14

我建议您为公共区域和安全区域创建不同的Appliction.cfm (首选Application.cfc)。还要为这些应用程序定义一个不同的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5749637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档