Борьба с сессиями

12
InSAn
На сайте с 13.01.2003
Offline
60
974

Каким образом оптимальнее всего "вычислять", что в ссылке передается сессия для того, что бы не засорять базу поисковика?

Один из вариантов - проверять, если в УРЛе есть переменная, которая состоит из 'a..f' и '0..9' и ее длина 32 - то это сессия.

Есть еще ваиант анализировать имя параметра (на наличие в имени 'ses').

Чем плохи/хороши такие варианты?

Какие еще возможны?

ADPRO - Мы знаем, что Вам нужно! (http://adpro.ua)
lagif
На сайте с 15.12.2004
Offline
30
#1

InSAn,

Многие очень любят писать "sid" - так что имя переменной - не факт.

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

Это тоже пройдет...
InSAn
На сайте с 13.01.2003
Offline
60
#2

Алгоритм:

если имя параметра состоит из 'sess' либо 'sid'

либо

значение параметра состоит из 'a..f' и '0..9' и его длина 32

то это сессия.

Кто дополнит? ;)

E
На сайте с 12.01.2004
Offline
17
#3

Если crawler будет принимать cookie и за один проход индекировать много страниц с одного сайта, то таких страниц с сессией в URL'е наверное будет не много. Я имею ввиду сессии PHP которые передаются в параметрах только один раз и затем хранятся в cookie браузера.

InSAn
На сайте с 13.01.2003
Offline
60
#4

А стоит ли позволять ему принимать куки?

Налицо - множество минусов. Например, сайт не за один проход считывается для последующей индексации.

E
На сайте с 12.01.2004
Offline
17
#5
Как писал InSAn
А стоит ли позволять ему принимать куки?
Налицо - множество минусов. Например, сайт не за один проход считывается для последующей индексации.

При считывании страницы, нужно смотреть на пришедшую куку в которой записывается идентификатор сессии и искать этот идентификатор в URL'ях контента страницы, если идентификатор нашелся - можно смело делать выводы что это переменная сессии и выкусывать его с URL. Такой способ работает для любого количества считываемых за один проход страниц.

InSAn
На сайте с 13.01.2003
Offline
60
#6

Хм... Спасибо за подсказку :)

А вот что делаю поисковики (или должны делать), когда встречается УРЛ с сессией?

Выкусывать сессию и запрашивать странцу без нее? Либо удалять страницу из индекса?

Вроде бы второе - более правильно, но тогда теряется много уникальных документов...

E
На сайте с 12.01.2004
Offline
17
#7
Как писал InSAn
Хм... Спасибо за подсказку :)
А вот что делаю поисковики (или должны делать), когда встречается УРЛ с сессией?
Выкусывать сессию и запрашивать странцу без нее? Либо удалять страницу из индекса?
Вроде бы второе - более правильно, но тогда теряется много уникальных документов...

Похоже ничего не делают :) Весь вопрос как определить переменная сессии это или нет? Не исключено что на каком нибудь сайте переменная 'PHPSESSID' даже с 32 байтовым значением будет не сессией.

InSAn
На сайте с 13.01.2003
Offline
60
#8

Как вариант, можно пойти алгоритму, описанному выше, но еще встроить одну дополнительную проверку:

а) При считывании страницы, нужно смотреть на пришедшую куку в которой записывается идентификатор сессии и искать этот идентификатор в URL'ях контента страницы, если идентификатор нашелся - сессия ((с) eshum

)

иначе:

б) Если имя параметра состоит из 'sess' либо 'sid'

либо

значение параметра состоит из 'a..f' и '0..9' и его длина 32

- возможная сессия.

Для варианта б) вводим дополнительную проверку:

б1) Если странцы с параметром и "выкушенным" параметром совпадают - сессия.

Совпадение в варианте б1) нужно производить идентичности контента/структуры (либо воспользоваться алгоритмом "шинглов")

Дополнения? ;)

[Удален]
#9

Ну имен параметра много разных может быть - у всяких cms и распространенных скриптов, например osCsid. Собирать надо базу такую наверно.

VT
На сайте с 27.01.2001
Offline
130
#10

Какое отношение тема имеет к поисковым технологиям? Переношу топик.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий