кажется, не можете установить дату истечения срока cookie в cfscript. какие-либо подсказки? это - coldfusion 9 btw.
В
, эквивалентном
, доступно только прямое присвоение переменных с памятью в области видимости Cookie. Вы не можете использовать прямое присвоение для установки постоянных cookie, которые хранятся в пользовательской системе. Поэтому вам придется написать функцию-обертку, если вы хотите установить постоянные файлы cookie, используя только скрипт CFML.
Я написал этот UDF. Обратите внимание, что httpOnly - это только CF9, поэтому вы хотите удалить его в CF8.
<cffunction name="setCookie" access="public" returnType="void" output="false">
<cfargument name="name" type="string" required="true">
<cfargument name="value" type="string" required="false">
<cfargument name="expires" type="any" required="false">
<cfargument name="domain" type="string" required="false">
<cfargument name="httpOnly" type="boolean" required="false">
<cfargument name="path" type="string" required="false">
<cfargument name="secure" type="boolean" required="false">
<cfset var args = {}>
<cfset var arg = "">
<cfloop item="arg" collection="#arguments#">
<cfif not isNull(arguments[arg])>
<cfset args[arg] = arguments[arg]>
</cfif>
</cfloop>
<cfcookie attributecollection="#args#">
</cffunction>
<cfscript>
if(!structKeyExists(cookie, "hitcount")) setCookie("hitcount",0);
setCookie("hitcount", ++cookie.hitcount);
setCookie("foreverknight",createUUID(),"never");
</cfscript>
<cfdump var="#cookie#">