2015-02-26 2 views
0

Я использую Railo - CFML, и кажется, что он не использует application.cfc/.cfm, потому что я удалил их из папки, и он работал точно так же. С этим сказано.В Railo, как удалить cookie?

Я пытаюсь принудительно удалить файлы cookie, когда я выхожу из моего приложения. Некоторые сведения о том, как информация восстанавливается после того, как я принудительно изменил информацию в файле cookie.

Я физически удалил файл cookie, и он запустил обновление CFID. Тем не менее, это единственный раз, когда мне удалось получить CFID-изменение. Я больше посмотрел в файл cookie и использовал свой веб-инструментарий разработчика, срок действия файла cookie истекает в 2045 году.

Я искал здесь часы, чтобы искать методы для работы, и я могу сказать вам, что они до сих пор работают над другими проектов, над которыми я работал, но по какой-то причине я не могу заставить его работать над этим текущим проектом. Просто возглавляю, я 15-й программист на этом сайте.

Вот некоторые из кода, что я работаю с:

<cfcookie 
name="CFID" 
value="Dead" 
expires="NOW"> 
<cfcookie 
name="cfid" 
value="Dead" 
expires="NOW"> 

<cfset structClear(session) /> 

<cfset delete_cookie=StructDelete(cookie,"CFID")> 

<cfcookie name="CFID" value="0" expires="Thu, 01-Jan-70 00:00:01 GMT"> 
<cfoutput>Cookie Deleted: #delete_cookie#<br /></cfoutput> 

<cfset delete_cookie=StructDelete(cookie,"cfid")> 
<cfcookie name="cfid" value="0"expires="Thu, 01-Jan-70 00:00:01 GMT"> 

<cfset delete_cookie_ga=StructDelete(cookie,"_ga")> 
<cfcookie name="_ga" value="0"expires="Thu, 01-Jan-70 00:00:01 GMT"> 
<!--- Redirect back to index page. ---> 
<!----<cflocation 
url="/" 
addtoken="false" 
/>---> 
<cfdump var=#cookie#> 

Вот что я получаю:
Перед тем, как использовать этот код.
Scope
_ga строка GA ###########
CFID струнных (случайные буквы & числа)
CFTOKEN строки 50

После я использую этот код я получаю:
Сферы
_ga строка 0
CFID строка 0
CFTOKEN строка 50

Это я пытаюсь 2 разных способов получить работа выполнена.

Однако, после того, как я запускаю это и посмотрите на мои печенье для моего сайта, я все еще вижу CFID с истечением 2045

+0

Возможно, вам следует предоставить код, который вы пробовали. Вы также можете проверить http: // www.learncfinaweek.com/week1/Application_cfc/, чтобы понять, что делает Application.cfc и как он используется. – Abram

+0

Я прочитал это, и это отличный ресурс. – Will

+0

@Abram Я добавил код для просмотра. – Will

ответ

2

Ваш код отлично подходит для управления значениями cookie на Railo. Похоже, что Railo выполняет задачи управления сеансом после завершения кода и устанавливает файлы cookie cfid.

Даже если вы можете изменить значение cookie cfid, существующий сеанс все равно будет существовать. Те, кто может просматривать сеанс с cfid в URL-адресе, все равно смогут использовать соответствующий сеанс, пока он не истечет время от времени. Чтобы аннулировать сеанс в Railo 4 или выше, вы можете использовать SessionInvalidate()function. Эта функция обновит клиентов cfid и заставит текущий сеанс истечь.

Не зная больше о вашем приложении, я не уверен, что аннулирование сеанса решит проблемы безопасности, над которыми вы работали.

+0

PERFECT! Это прекрасно работает! Большое вам спасибо за это. С этим и более коротким таймером сеанса. Это будет работать чудесно. Спасибо! – Will

0

После дальнейших исследований я обнаружил, что мой администратор Railo сервер имел сеансы тайм-аут после 90 дней. Это было изменено, и сеансы истекают через 20 минут. Поэтому, если вы используете railo, убедитесь, что вы обновляете веб-админ, а не только администратор сервера. Урок выучен. Всем спасибо. Также ОГРОМНОЕ спасибо Ben Nadel за помощь в решении этой проблемы!

Смежные вопросы