Firefox "Плохой запрос", вызванный поврежденным файлом cookie для отслеживания Google - PullRequest
2 голосов
/ 05 февраля 2010

У нас есть проблема на нашем сайте, из-за которой некоторые пользователи Firefox получают сообщение «Плохой запрос» при посещении нашего сайта (больше ничего, только слова «Плохой запрос»!)

Это может быть связано с поврежденным файлом cookie для отслеживания Google, возможно, __utmz (один человек по очереди удаляет файлы cookie Google, а после его удаления сайт возвращается к жизни.)

Наш веб-сайт использует этот код отслеживания Javascript Google:

    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

    try {
        var pageTracker = _gat._getTracker("UA-**********");
        pageTracker._trackPageview();
    } catch(err) {}

Иногда мы также используем это для создания другого псевдо-URL для отслеживания в Google Analytics после заполнения формы:

  pageTracker._trackPageview('{$smarty.const.CONST_PAGE_URL}/complete');

{$smarty.const.CONST_PAGE_URL} - это всего лишь фрагмент кода шаблона для вывода реального, текущего URL страницы.

Наконец, вероятно, не имеет значения, но для перекрестного отслеживания в нашей CRM мы также используем отслеживание Salesforce, загруженное из https://lct.salesforce.com/sfga.js, которое начинается с Javascript в нижнем колонтитуле нашей страницы, например:

__sfga();

У меня был отчет об этой проблеме от пользователя Firefox 3.5.7 - я не знаю о других (за исключением того, что они использовали Firefox). Кто-нибудь знает, что может вызвать это и есть ли способ остановить / избежать этого?

Большое спасибо - кстати, переполнение стека, я использую его часто: O)

Ben

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Мы столкнулись с той же проблемой, но это произошло из-за кампании по электронной почте и использования «нестандартного» символа (расширенный символ дефиса) в строке темы электронного письма, который затем был добавлен в используемую переменную utm_term.для доступа к веб-сайту.Это было помещено в файл cookie __utmz Google Analytics на сайте.При просмотре файлов cookie с помощью, например, подключаемого модуля Firefox для веб-разработчиков был обнаружен «плохой персонаж».

0 голосов
/ 07 февраля 2010

Я видел это раньше. Я не знаю, есть ли общая причина, но я, по крайней мере, объясню причину (и исправление) в одном случае, с которым я знаком.

Использование сторонних систем отслеживания рекламы приводит к тому, что посетители сайта проходят через URL-адреса перенаправления - например, Atlas Search, DoubleClick, SEM Director или здесь, «Salesforce», что, как я предполагаю, аналогично, но вы должен это проверить. URL-адреса перенаправления могут нарушать параметры отслеживания GA, добавленные к URL-адресам целевой страницы.

Предположим, URL вашей целевой страницы был http://www.onlinefun.com/?source=google&medium=ppc&campaign=shoes. Когда этот URL-адрес добавляется в стороннюю систему отслеживания для перенаправления, он становится параметром запроса для URL-адреса перенаправления, поэтому что-то вроде: http://www.redirectdomain.com http://www.onlinefun.com/?source=....

Этот URL теперь имеет два символа "?" в этом - проблема, потому что вам разрешено только одно (или, по крайней мере, вам разрешено только одно указывать, что следует строка запроса).

Как и в вашем Вопросе, когда я впервые увидел поведение, большинство браузеров не пострадали. Я понятия не имел, почему не все браузеры вернули 400, хотя мы смогли решить эту проблему. Первоначальным быстрым решением было заменить «#» на второе «?» так что по крайней мере URL будет обрабатываться. Очевидно, что более стабильным решением является использование закодированных URL-адресов целевых страниц, как описано в этом w3 школьном учебнике .

...