有没有办法快速调用Server.cfc组件中的onServerStart而不实际重启服务?
CFID,CFTOKEN和jsessionid值的组合支持ColdFusion会话.首次点击cfm页面时,将建立这些值,从而创建SESSION.
我的问题是,如果SESSION是在HTTP下创建的,然后点击一个链接进入HTTPS下的登录页面,那些SESSION令牌值是否被泄露,因为它们是在http下创建的(即它们是以明文形式传递的,作为请求).
我猜测有人精明地嗅探公共路由器可能会获得这些值,然后欺骗会话.我知道,这绝对是罕见的,但仍然是一个问题.
我正在使用ColdFusion MX7对某些Java 6代码执行CFEXECUTE。
不幸的是,由于CF7在JDK 6下不起作用,所以我必须这样做。
我的问题是,如果在Java代码中发生异常,如果我printStackTrace在异常上调用a ,则CFEXECUTE命令会挂起。ColdFusion最终超时,但是Java进程继续在后台挂起。
我猜有一些障碍正在发生,但我似乎无法弄清楚为什么。
如果我不这样做,printStackTrace那么一切正常。
异常是从Oracle信息权限管理wsdl用JAXWS生成的WebService异常。
编辑
我注意到我可以printStackTrace使用文件PrintStream作为参数来调用,并且效果很好。因此,看起来错误流遇到了麻烦。
这是Java代码:
public void Execute(){
AdminUtils AU = AdminUtils.GetInstance();
AccountServicesPort AA = AU.GetAccountServicesPort();
LicenseServerRef LicSerRef = AU.GetLicenseServerRef();
User UserToSave = new User();
UserToSave.setUserName(UserName);
UserToSave.setFirstName(FirstName);
UserToSave.setLastName(LastName);
UserToSave.setEmailAddress(EmailAddress);
UserToSave.setServer(LicSerRef);
try{
AU.LogMessage("Change User: " + UserName + " " + FirstName + " " + LastName + " " + EmailAddress);
AA.saveChangesToUser(UserToSave);
}catch(Exception e){
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这是ColdFusion调用:
<!--- Update the IRM User. ---> …Run Code Online (Sandbox Code Playgroud) ColdFusion(或Java)中转换字符串的最快方法是什么:
Input:
79827349837493827498
Output:
\79\82\73\49\83\74\93\82\74\98
Run Code Online (Sandbox Code Playgroud)
我正在使用LDAP GUID并将其转义为查询.
我可以将其作为一系列MID减少,如下所示:
<CFSET V1 = "">
<CFSET RetVal = "">
<CFLOOP CONDITION="#V1# NEQ''">
<CFSET RetVal = RetVal & "\" & MID(V1,1,2)>
<CFSET V1 = MID(V1,3,2000)>
</CFLOOP>
Run Code Online (Sandbox Code Playgroud)
但似乎会有更优雅的东西,比如正则表达式替换.
我们正在使用ColdFusion MX7.
CFDOCUMENT标签使用iText进行PDF创建,因此整个iText库都包含在标准CF部署中.
我遇到的问题是我想使用比CF7中包含的版本更新的iText版本.我需要保持CFDOCUMENT功能,所以只是更改jar文件不是一个选项.
到目前为止我所做的是将iText源加载到Eclipse中并将其重构为另一个名称.这很好,并且已经这样做了大约一年.
但是,我想升级到最新的iText版本,再次跳过重构的环节有点令人生畏.
是否有更简单的方法加载罐子,而不是让它们与旧版本冲突?
JQUERY中有一种标准的方法(在文档就绪时间)将表单字段的原始值存储在页面上,以便(稍后)检查字段是否真的发生了变化?
通常我会做这样的事情:
var NameField = $("INPUT[name='NameField']");
//Record the original value.
NameField.OriginalVal = NameField.val();
Run Code Online (Sandbox Code Playgroud)
这很简单,但我想知道有一种"标准"的方式来做到这一点.
编辑
我遗忘的一个附加要求是它需要适用于所有类型的表单字段,包括select和textareas.
似乎选择实际检查的可检查输入的唯一方法是使用:checked选择器.
是否存在技术原因导致此操作无效:
$("INPUT[checked]")
Run Code Online (Sandbox Code Playgroud)
而它似乎适用于其他属性?
很明显,ColdFusion将从application.cfc文件的子目录查找目录树.
这允许所有cfm文件被"锁定",除非首先找到的application.cfc文件允许处理文件.
有没有办法告诉ColdFusion不要停在子目录并始终转到root?
原因是这种情况只需在文件结构中的某个位置创建一个目录并添加application.cfc文件就会产生"后门"安全问题.
服务器永远不会到达正确的application.cfc,因此永远不会正确设置安全性.
在ColdFusion 9中,当应用程序达到其最大超时并且转储内存空间时,应用程序是否会重建(即onApplicationStart是否被调用)?
如果是,那么在何时超时或在下一页上调用?
我有一个CSV文件,我想将其视为源代码.基本上我想采用csv行并使用它们,就像它们调用具有所有字符串参数的函数一样.
问题是,当文本中有逗号时,单个元素仅被双引号.
是否有一种快速方法可以在csv行中添加双引号的所有元素.
原始文档是一个excel文件,因此excel中的任何内容都可以,但欢迎其他快速工具.
是否ColdFusion的有一个"全局"结构,其中的表述global["FORM"],global["URL"],global["APPLICATION"],global["SESSION"],等是有效的?
coldfusion ×9
java ×2
jquery ×2
algorithm ×1
cfexecute ×1
coldfusion-9 ×1
csv ×1
itext ×1
javascript ×1
scope ×1