大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网络媒体 -> FLASH -> Coldfusion MX技巧精华收集(3)

Coldfusion MX技巧精华收集(3)

时间: 2021-07-31 作者:daque

设定你的根目次 作家: kyle 2/16/03 实质: 设定你的根目次网站开拓职员从来都从来必需在对立路途 vs. 一致路途这项话题上头打转。在 coldfusion 情况内里,你不妨在多个各别页面运用 cfinclude 卷标,然而既是咱们对于在哪个目次内里将会用到 cfinclude 语法,所以在 cfinclude 卷标内里运用对立路途常常会形成很多烦恼。 举例来说,某个被包括的选单内里大概有一个指向网站首页的连结,像底下如许: <a href="index.cfm">home page</a> 在网站根目次底下的任何档案引入这个包括档都不会有题目。然而即使你在某个次目次下的一个档案内里引入这个选单档案,那么上头这个超链接便会作废,大概起码会连结到缺点的页面去。这功夫你本质上会蓄意这个超链接是写成如许: <a href="../index.cfm">home page</a> 有两种办法不妨克复这个题目。一个是在超链接内里径直运用一致路途。要运用这个作法,你必需在 coldfusion 内里预先设定好一个路途对应联系(mapping)。你不妨在 coldfusion 处置员(coldfusion administrator)的「路途对应(mappings)」区块内里创造那些对应联系。一旦你创造好了路途对应联系,你便不妨把指向网站首页的超链接写成底下这个格式: <a href="/mymapping/index.cfm>home page</a> 即使你运用了一致路途,那么不管你在谁人场所引入这个档案,该档案内里的超链接长久城市维持灵验。我常常运用一个叫作 application.rootdir 的运用步调变量来积聚这项路途对应设定,而且在超链接内里径直套用这个变量。运用这个作法,即使我真有需要窜改目次构造大概路途对应的称呼,那么我只须要窜改这么一个变量的值就不妨了。 <cfset application.rootdir = "/mymapping"> 即使你套用这个变量,你的超链接看上去会像底下如许: <a href="#application.rootdir#/index.cfm"> 在每个页面包车型的士发端创造如许的变量,那么你就不妨在该页面包车型的士其它局部套用这个变量的值。包括档案运作起来就像该档案的实质本质上真的被写入原有页面一律,所以即使档案 a 引入了档案 b,那么在档案 b 内里咱们便不妨径直参照到档案 a 内里的变量值: <!--- 在每个页面设定 rootdir 变量值 ---><cfset rootdir ="../"><!--- 在被引入的页面中参照 rootdir 变量的值(只有决定这个变量真实有被设置即可,要不在引入档案的功夫会展示缺点消息) ---><a href="#rootdir#news/newspage.cfm"></code>运用自订卷标来设定版面摆设 作家: kyle 2/16/03 实质: 运用自订卷标来设定版面摆设coldfusion 的自订卷标功效让你不妨将任何你设想获得的功效封装成一个大略易用的包装。固然这项功效早在几年前便是 coldfusion 效劳器的功效之一,然而从 4.0 本子发端,你不妨在自订卷标内里运用启始与结果卷标。为了证明怎样运用自订启始与结果卷标,在底下这个典型内里咱们将网页实质包装在一个自订卷标内里,而且供给版面摆设与方法化的关系功效。 想想看,即使在某个普遍页面里头不妨运用底下如许的写法,那不是很棒吗! <cf_formatpage title="my page title">这边是你的页面重要地区的实质。请提防咱们在这边并没有介入表格大概 <body> 卷标之类的货色。 </cf_formatpage> 所有页面原始码即是如许了。其它一切版面摆设与方法化消息都被湮没在重要实质表面的自订卷标内里。为了不妨在你的自订卷标内里运用启始与结果卷标,你必需先领会自订卷目标两种运用状况。你不妨透过 #thistag.executionmode# 这个变量的值来确定暂时被运用的是启始大概是结果卷标。基础上你的自订卷标实质会被实行两次:一次是遇到启始卷目标功夫,另一次便是遇到结果卷目标功夫。为了不让这篇作品显得过于繁杂,在这边咱们并不介入太多方法化的关系步调代码,然而底下这个基础的 cf_formatpage 自订卷标该当充满让你领会咱们方才提到的看法: <!--- 以次是 cf_formatpage 自订卷标档案实质 ---><!--- 即使实行形式是「start」,表白咱们遇到的是启始卷标,所以咱们表露页面方法的前半段 ---><cfif thistag.executionmode is "start"> <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html><head><title><cfoutput>#attributes.title#</cfoutput></title></head> <body> 上头这段实质不妨包括页面题目图片,选单大概其它实质。 <!--- 被包括在这个卷标内里的其它实质则会接着在这边表露 ---> <!--- 即使实行形式是「end」,表白咱们遇到结束尾卷标,所以咱们表露页面方法的后半段 ---><cfelseif thistag.executionmode is "end"> <br><br>这边是页面包车型的士页尾地区,在这边你大概会放入实质连结大概版权颁布笔墨。 </body></html> </cfif> 你能做的货色固然比这个大略例子多得更多,比方介入动静选单,对准每个页面介入各别的题目图片之类。大概换一种作法,你不妨对准各别情景创造各别的自订卷标来把版面摆设封装起来,只有不妨适合你本人的一定需要就行了。养护页面不受跨网站(cross-site)步调报复作家: kyle 2/16/03 实质: 养护页面不受跨网站(cross-site)步调报复跨网站步调报复是网站处置职员常常必需面临的安定性题目之一。像是 asp,cfml 大概 php 这类的运用步调效劳器,因为它们与生俱来的动静功效个性,使得它们更加简单遭到这一类的报复。很多功夫你的步调城市把某些消息从某个页面传递到另一个页面,将材料积聚到数据库中,大概将窗体或 url 参数接受到的变量值表露在页面上。固然不妨在各别页面之间传播材料看上去是一个便宜,然而即使你不够提防的话,这项个性也会同声带来重要的安定性题目。举例来说,请看看底下这个超链接以及对立应的目的页面表露的截止: <!--- 底下是你某个页面中的超链接 ---><a href="nextpage.cfm?username=brian">请按这边</a><!--- 底下是 nextpage.cfm 所表露的实质 ---><cfoutput>欢送到达下一页,#url.username#。</cfoutput> 看上去够大略了吧?上头这个超等链接简单把运用者称呼从一个页面传播到另一个页面去(nextpage.cfm),即使你不够提防的话,这恰是题目大概爆发的场合。跨网站步调(cross-site scripting)基础上便是捉弄你的 web 效劳器,让它在未预期的的情景下实行其它网站上头某绦颍?/span>javascript,java applet 大概 activex 控件。 即使你查看上头这个例子的目的页面包车型的士 url,它看上去会是底下如许: http://www.mysite.com/nextpage.cfm?username=brian 某位不怀好心的运用者不妨本人输出一个 url,内里包括一个连向另一部效劳器上头的步调的连结,就像底下如许: http://www.mysite.com/nextpage.cfm?username=<script src="http://www.hackersite.com/nastyscript.js"> 当 coldfusion 鄙人一个页面输入上头的 url 所传过来的变量的功夫,输入截止看上去形成底下如许: 欢送到达下一页,<script src="http://www.hackersite.com/nastyscript.js">。 这个变量会让你那俎上肉的页面在你未预期的情景下实行对方指定的 javascript 步调代码。运用一致的办法,对方也不妨在 url 内里指定歹意的 activex 控件大概 javaapplet。固然,在这个例子内里,运用者仅是在欣赏器上头实行她们本人指定的步调罢了,但即使那些歹意步调代码被你本人的步调不提防积聚起来而且之后又输入到其它运用者的画面上(比方破坏者将某些 javascript 步调代码输出在你的计划区公布作品窗体内里,而后你的步调在不知情的情景下把那些步调代码当成谈话实质的一部份惠存数据库中,那么其它运用者观察到这篇作品的功夫,那些被蓄意放入的 javascript,java applet 大概 activex 控件便会在其它运用者的欣赏器上头实行了),这功夫那些步调就大概足以将其它运用者的帐号,暗号大概其它敏锐材料黑暗传递到某个场合去。这项安定性题目并非 coldfusion 才会爆发的情景,任何运用步调效劳器,只有它不妨接受从 url 大概窗体传递过来的材料而且表露在运用者画面上,都有大概遭到这类报复。 倒霉的是,要制止这种情景爆发并不艰巨。你要做的处事是过滤来自 url 大概窗体传递过来的材料,而且将少许特出的伤害字符,比方 < 大概 >(大于和小于标记),把她们替代成对立应的 ascii 字符码情势(比方将 < 替代成 <)就不妨了。究竟上 allaire 公司供给了一个 cf_inputfilter 自订卷标,你不妨将它用在你的 application.cfm 档案内里,它不妨替你处置关系的特出字符过滤处事。即使你须要更完备的对于这项话题的材料,请参考「allaire 安定题目公布栏」网站上头的这篇作品(asb00-05)。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.