Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
Написал самый простой счетчик на PHP+БД, который при загрузке страницы делает запись в БД о новом посетителе. Некоторые сайты куда ставлю счетчик, почему то иногда пишут в БД по 3-4 просмотра за одну загрузку страницы. Разбираться с сайтами смысла нет их делаю не я и самое главное на этих же сайтах стандартные счетчики типо Яндекс метрики работают нормально. Какие есть способы сделать так чтобы счетчик срабатывал только 1 раз за 1 загрузку страницы ? Вот смотрю на яндекс метрику там он как то в теге <img> вроде грузится не знаю помогает это или нет Подскажите плз! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2014, 13:11 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
Игнорировать повторные запросы того же пользователя в короткий промежуток времени, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2014, 13:56 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
vkle, ну это понятно, но все равно как то не очень яндекс же как то делает, что там у них может быть яваскрипт или что хочу понять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2014, 13:59 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
trom, Отсюда не видно, что творится на серверной стороне Яндекса :-) Мож в ихних блогах найдете какую-то информацию. Ну и... мы же не знаем, как именно работает Ваш счетчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2014, 15:15 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
vkle, вот мой счетчик Код: php 1. 2. 3. 4. 5. 6. 7. 8. по моему вообще ничего особенного Я просто думал что проблема с много кратной загрузкой счетчика имеет какое то стандартное решение, не думаю что я один с этим сталкиваюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2014, 05:37 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
tromvkle, вот мой счетчик Код: php 1. 2. 3. 4. 5. 6. 7. 8. по моему вообще ничего особенного Я просто думал что проблема с много кратной загрузкой счетчика имеет какое то стандартное решение, не думаю что я один с этим сталкиваюсь Код: php 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2014, 13:32 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
phpz, ничего не изменится время на несколько секунд всегда отличается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2014, 14:08 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
tromphpz, ничего не изменится время на несколько секунд всегда отличается Как ваш счетчик подгружается? Думаю его через скрипт отдавать надо, тогда можно будет с заголовками поиграться при условии, что куки включены. Если же они отключены, то можно прицепиться к ip и user-agent и отбрасывать все повторные попытки в течение определенного времени (напр. 15 мин). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2014, 14:37 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
phpz, Счетчик подгружается просто вызовом функции которую я привел на странице И кстати уникальность посетителя детектится через куки не через IP, так быстрее А как счетчик через скрипт отдавать ? может мне это и надо, просто где ставлю счетчик сайты там используют кучу javascript что там и как разобраться сложно, я думаю что какая то повторная загрузка идет и в этом вся проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2014, 14:56 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
trom, Это - НЕ счетчик. Вы отслеживаете количество вызовов этой функции на сервере... браузер к серверу может обращаться 100-500 раз, в зависимости от настроек и наличия nginx в т.ч.: то ему линки отдай, то скрипты к странице, а ишо и картинки хочу... а то просто 301 редирект идет через php часть (видел и такое). Счетчик - это прога на js, то есть на стороне клиента... подгрузилась страница в браузер - свистнула ajax-ом на сервак "я тута"... сервак принял свисток и подсчитал его. Заодно отсекает большую часть ботов, которые js-код не интрпретируют и соответственно свистеть просто не могут (кроме гугля). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2014, 21:32 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
Arhat109, Спасибо примерно начал понимать. А можно пример самого простого скрипта на javascript для счетчика ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 06:50 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
если считаете все посещения то достаточно картинки 1х1 с источником пхп-скрипт в пхп отдаете картинку и дергаете enumerator_all() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 11:08 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
Лучше вместо картинки отдавать 204 No Content Можно ловить не только открытие страницы, но и поведение посетителя (например, клики на странице). Чтобы снять ограничение кроссдоменного запроса, необходимо включить загрузку JS-файла в исходный HTML-код страницы, например: Код: html 1. Сам JS-файл должен содержать примерно такой код (приведён для примера один из самых простых вариантов, кроссбраузерно): Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Пример не проверял, накидал на коленке, но смысл думаю понятен. Дополню, что в обычных браузерах, при прораммном вызове .click() на странице, e.pageX и e.pageY будут содержать нулевые значения, таким образом, можно отличить действия пользователя от действий того или иного скрипта. Всего не расскажешь, да и сразу не вспоминается, но различных мелочей и нюансов хватает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:15 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
упс, вместо "d.getElementsByTagName" нужно конечно "document.getElementsByTagName" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:23 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
ILLHEAD, А как сделать картинку с источником пхп скриптом ? asws Очень сложный пример, мне кроме подсчета просмотров ничего не надо уже сам надумал такую схему На целевой странице, яваскрипт функция которая грузит сраницу с пхп кодом Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Пхп страница которая гетом получает переменные и вызывает функцию которая раньше была на странице которую грузил клиент Код: php 1. 2. 3. 4. 5. 6. вроде все работает, но конечно как то все слишком навороченно, грузить картинку с иточником пхп скрипта меня наверно устроило намного больше, объясните КАК это сделать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:30 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
tromILLHEAD, А как сделать картинку с источником пхп скриптом ? в источнике картинки надо добавить get параметром случайное число или время с милисекундами, чтобы браузер из кэша не взял картинку Код: php 1. 2. 3. 4. примеры возврата картинки _http://stackoverflow.com/questions/5630266/a-php-file-as-img-src ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:32 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
зы: гет-параметр в пхп-скрипте анализировать не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:33 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
ILLHEAD, вроде понятно спасибо! авторзы: гет-параметр в пхп-скрипте анализировать не надо вы про случайную метку которая нужна чтобы браузер не загрузил картинку из кеша ? гетом то мне надо с картинкой передать 3 моих переменные И еще картинка будет работать так же как написал Arhat109 авторСчетчик - это прога на js, то есть на стороне клиента... подгрузилась страница в браузер - свистнула ajax-ом на сервак "я тута"... сервак принял свисток и подсчитал его. Заодно отсекает большую часть ботов, которые js-код не интрпретируют и соответственно свистеть просто не могут (кроме гугля). то есть отсекать всяких ненужных ботов ? А то у меня получается сейчас работает по ajax все и хоть мой способ сложнее но если он отсекает все кроме реальных посетителей лучше оставить его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:41 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
в гете свои анализируйте, а этот пофиг ). не разобрал тут был вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 15:02 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
ILLHEAD, Да вопрос в том будут ли отсекаться всякие боты яндекс, гугл итд при загрузке счетчика через картинку ? или они тоже вызовут пхп функцию и будут видны в общей статистике ? мой вариант который я привел как я понял ботов не будет учитывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 15:14 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
tromILLHEAD, Да вопрос в том будут ли отсекаться всякие боты яндекс, гугл итд при загрузке счетчика через картинку ? или они тоже вызовут пхп функцию и будут видны в общей статистике ? мой вариант который я привел как я понял ботов не будет учитыватьесли <img ... > будет в шаблоне, то боты будут учитываться вот так не будут Код: javascript 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 15:22 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
зы: т.е. если IMG будет создаваться браузером из js, то боты которые не умеют исполнять js учитываться не будут чтобы гарантированно отбиться от ботов наверное надо куки задействовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 15:24 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
ILLHEADчтобы гарантированно отбиться от ботов наверное надо куки задействовать куки не помогут, ничего не поможет. Может только капча или бан ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 16:35 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
artas, в конце концов есть урлы и ипы ботов яндекса гугла и прочих фильтровать по ним ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 16:37 |
|
||
|
Как сделать чтобы счетчик грузился только один раз
|
|||
|---|---|---|---|
|
#18+
artasILLHEADчтобы гарантированно отбиться от ботов наверное надо куки задействовать куки не помогут, ничего не поможет. Может только капча или бан )+ именно так. Гарантировано отбиться от ботов нельзя, некоторые ведут себя как реальный браузер, у посковиков есть такие боты, некоторые из них не сообщают кто они, также существуют и другие неизвестные боты-браузеры. Думаю что сам ловил именно таких ботов, вычислял их только по реферрерам с поисковой выдачи для одинаковых ключевых запросов, то-есть были всплески переходов с одной страницы поисковой выдачи, но открытой с IP разных регионов и стран, с разными UA, длительность таких всплесков - по несколько минут на один ключевой запрос. Думаю, если на сайтах по ссылкам с поисковой выдачи стоят скрипты Яндекс-метрики или Google-analytics, то поисковики тоже могут анализировать попытки стороннего скана, даже если чужие боты будут скрывать реферрер. Для дополнительной надёжности отсекания ботов, нужно делать более интеллектуальный счётчик, например, который сработает только при обнаружении событий, инициированных пользователем, или учитывает особенности и баги конкретных браузеров, но гарантий надёжности нет. Если одним счётчиком-сайтом дело не ограничится, и понадобится ставить свои счётчики на другие сайты, всё-таки советую рассмотреть приведённый мной ранее способ организации счётчика. Лучше располагать счётчик на одном домене для различных сайтов, чем дублировать функционал для каждого сайта. Если сайтов со своими счётчиками будет много, лучше предварительно заполнять помежуточные таблицы или текстовые файлы, разбив их на чётные/нечётные - по часам, и раз в час информацию переносить в основную БД, предварительно проведя анализ и коррекцию данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 16:41 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38570546&tid=1463003]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 390ms |

| 0 / 0 |
