#cookies #coldfusion #internet-explorer-8 #coldfusion-8
#файлы cookie #coldfusion #internet-explorer-8 #coldfusion-8
Вопрос:
Я имею дело с системой продажи билетов, которая была написана около 10 лет назад с использованием Coldfusion 8. Когда пользователь проходит аутентификацию и входит в систему, информация пользователя о его идентификаторе сохраняется в файлах cookie CF, и сайт использует эти файлы cookie для заполнения идентификатора пользователя, имени и т.д. когда пользователь заполняет заявки.
Это приложение отлично работает в Internet Explorer 6.0, однако мы медленно переходим на Internet Explorer 8, поэтому здесь есть некоторые пользователи, которые уже начали использовать IE8 на постоянной основе. Мы получаем жалобы от некоторых из этих пользователей IE8, в которых в середине сеанса файлы cookie теряются / становятся нулевыми, и пользователь не может заполнить заявки. Пользователи могут нормально входить в систему, но иногда в середине сеанса появляются ошибки типа «ИМЯ НЕ ОПРЕДЕЛЕНО». Похоже, что они не привязаны к конкретным билетам, потому что я просмотрел все жалобы, которые у нас есть, и они обнаружены во всех видах билетов. Я проверяю журналы / скриншоты и, конечно же, файл cookie для идентификатора сотрудника равен нулю. Я искал по всему Интернету и не могу найти хороших исправлений для этого.
Я думал о преобразовании файлов cookie в переменные сеанса, но это было бы масштабной задачей и потребовало бы большого тестирования.
Есть мысли? Заранее спасибо.
Комментарии:
1. Ошибка, которую вы указали, указывает на то, что данные отсутствуют в области сеанса, а не в области файлов cookie. У вас возникли проблемы с прекращением сеансов или исчезновением данных cookie?
2. У меня возникли проблемы с исчезновением данных cookie. Я использую HttpWatch и отслеживаю файлы cookie. Всегда ОДИН файл cookie исчезает / становится нулевым, но другие файлы cookie остаются в порядке. Кроме того, эта проблема возникает только в IE8… пользователи, использующие IE6, не сообщают мне об этой проблеме. Срок действия файлов cookie уже истек = НИКОГДА, поэтому я не думаю, что это проблема истечения срока действия файлов cookie ..?
3. Жаль, что я не использовал ColdFusion 8 десять лет назад 🙂
4. Хахаха. Хорошая мысль, Кьяран. 10 лет — это примерно 6 лет.
5. О, извините. Я хотел написать, что в настоящее время они находятся на Coldfusion 8. Я не уверен, какую версию использовали люди до меня, когда разрабатывали это…
Ответ №1:
Есть вероятность, что домен меняется? Возможно, вы переключаетесь между www.servername.com и servername.com ? Если вы не записывали файлы cookie домена, изменение домена приведет к тому, что файлы cookie, записанные для одного домена, станут недоступны для другого. Вы можете включить файлы cookie домена в вашем файле Application.cfm или Application.cfc. Либо установите <cfset this.setDomainCookies = true />
в Application.cfc, либо установите setDomainCookies="true"
атрибут в вашем <cfapplication />
теге. При этом будут записаны файлы cookie, доступные из любого поддомена.
Срок действия файлов cookie истек? Вы можете установить дату истечения срока действия для файла cookie. Возможно, срок их действия истекает до истечения сеанса пользователя?
Вы пробовали использовать панель инструментов разработки IE для отслеживания файлов cookie? Вы можете использовать это для просмотра файлов cookie, установленных для вашего сайта.
Комментарии:
1. Я использовал HTTPWATCH, чтобы попытаться отслеживать файлы cookie. В коде все файлы cookie были установлены как expires = NEVER. Странно то, что когда я проверяю сеанс пользователя в HTTPWATCH, только один из файлов cookie, идентификатор сотрудника становится нулевым. Все остальные файлы cookie (имя сотрудника и т.д.) по-прежнему имеют свои правильные значения. Я почти уверен, что мы не меняем доменные имена…
Ответ №2:
В одном из моих приложений наши пользователи сталкиваются с такой же проблемой.Это началось внезапно без каких-либо изменений в коде.Мы предлагаем им очистить кэш и повторить попытку, и это работает.Но мне нужно знать основную причину и ее устранение. Спасибо