采取以下代码......
<cfset thisToken = createUUID()>
<cflock scope="SESSION" type="EXCLUSIVE" timeout="10">
<cfif not isDefined("session.allTokens")><cfset session.allTokens = ""></cfif>
<cfset session.allTokens = ListAppend(session.allTokens, thisToken)>
</cflock>
<cfoutput>
#thisToken#
<br><br>
#hash(thisToken, "SHA-512")#
<br><br>
#session.allTokens#
</cfoutput>
.... a few html lines, nothing special ....
<input type="hidden" name="token" value="#hash(thisToken, "SHA-512")#">
如果我在多个浏览器选项卡中运行此页面,则第一个选项卡可以正常工作,但在此之后的所有其他选项卡中,隐藏中的哈希值(查看源代码时)不等于其右上方的cfouput中的哈希值。奇怪的是,cfoutput中的哈希为所有选项卡显示一个新的唯一UUID,但隐藏的选项卡在选项卡2,3,4,5,.....中始终包含相同的值。
为什么隐藏的哈希值不唯一并且匹配cfoutput中的哈希?
答案 0 :(得分:0)
我现在看到了什么。出于某种原因,在Chrome中,&#34;查看来源&#34;并不总是显示选项卡的正确来源。不知道为什么。但是,如果我做&#34; Inspect Element&#34;相反,并查看隐藏的方式它实际上包含每个选项卡中的正确唯一值。当多个标签具有相同的网址但内容略有不同时,在查看来源时Chrome必须存在一些问题。