|
|
|
|
|
для: кен
(15.05.2005 в 04:27)
| | Никто ничего не знает про get_browser()? Что-то я не пойму, как инсталлировать browscap.ini? | |
|
|
|
|
|
|
|
для: кен
(14.05.2005 в 04:29)
| | Вот такой совет нашёл на http://www.php.net/manual/en/ref.session.php:
wolfpack 03-Apr-2005 12:02
Search engines in general don't support cookies, and they don't do well with SIDs in the query string. If you use sessions, especially URL-based sessions, and want your site to be search engine friendly, the following works well:
<?php
$br = get_browser();
if (!($br->crawler))
{
// any session-related code goes here
}
else
{
// whatever your page needs to work without sessions
}
?>
|
To use the function get_browser() you may need to install browscap.ini. See the documentation for get_browser() for more info.
Дельный ли совет? Если эта штука работает как надо, то ей ведь и в статистике роботов ловить можно. А главное, по теме, роботы будут делать "чистые" ссылки, и проблема решается очент элегантно! Но вот насколько этот get_browser() точен? Кто-нибудь такой штукой пользовался? | |
|
|
|
|
|
|
|
для: JIEXA
(14.05.2005 в 19:42)
| | Это я здесь опечатался. А файл правильно называется: robots.txt. И не работает. | |
|
|
|
|
|
|
|
для: кен
(14.05.2005 в 16:37)
| | > Да, robot.txt в нижнем регистре.
файл должен называться robots.txt | |
|
|
|
|
|
|
|
для: cheops
(14.05.2005 в 12:49)
| | Да, забыл уточнить. Нужно сделать редирект на другую страницу в той же самой папке. | |
|
|
|
|
|
|
|
для: cheops
(14.05.2005 в 12:49)
| | Не по душе мне куки. Есть одна идея. Для проверки нужно организовать редирект с передачей параметров. Подскажите, как такой делается? Желательно, с помощью header. Я что-то не припомню. | |
|
|
|
|
|
|
|
для: кен
(14.05.2005 в 04:29)
| | А нельзя использовать сессионные куки? Т.е. при заходе посетителя на сайт смотреть устанавливаются у него куки или нет, если устанавливаются, тогда не передавать SID через URL - он будет передаваться через сессионные куки автоматически. Если не устанавливаются тогда передавать его через SID? Пользователи браузеры которых не поддерживают cookie очень мало и для подавляющего большинства посетителей у вас будут чистые URL. Или вообще запретить передачу SID через URL, а на сайте поставить предупреждение, что для корректной работы необходимо включить поддержку cookie. Обычно так поступают.
Например при создании новой темы на этом форуме инициируется сессия, однако в SID она не помещается и роботы нормально индексируют страницы. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(14.05.2005 в 03:39)
| | Да, robot.txt в нижнем регистре. Почему не работает - не знаю. Но и запрет индексирования главной проблемы не решит: SID присоединён КО ВСЕМ ССЫЛКАМ НА ВСЕ СТРАНИЦЫ САЙТА от поисковиков Yandex, Yahoo!, MSN. Не запрещать же индексацию всего сайта! Раз роботам не укажешь, то остро встаёт задача: очередной человек заходит с поисковика в публично открытый сеанс, и мой скрипт должен обеспечить его новым собственным сеансом. Для определения нового гостя можно хранить в сеансе IP хозяина и сравнивать IP при каждом обращении к сеансу. А если IP не совпал, то вопрос:
- как, уже после регистрации сеанса (session_start() и session_register('IP')) и определения несовпадения IP, создать для гостя новый сеанс, никак не связанный с текущим?
Если ответа не найдётся, то вывод один: механизм сеансов (сессий) в PHP использовать НЕЛЬЗЯ! Ни в одном мало-мальски серьёзном проекте. И придётся что-то выдумывать с хранением сеансовых данных в файлах или в базе данных. | |
|
|
|
|
|
|
|
для: кен
(13.05.2005 в 23:25)
| | > - Как сделать, чтобы роботы сохраняли "чистые" ссылки, без строки параметров?
В общем случае, никак. Роботы практически никому не подвластны.
Вы можете только запретить им совсем читать данный раздел.
User-Agent: *
Disallow: /korz/
|
Странно, что эти строки не сработали.
robots.txt у вас в нижнем регистре записано? | |
|
|
|
|
|
|
|
для: cheops
(13.05.2005 в 21:07)
| | Статья хорошая. Но в моём случае роль "неосторожного владельца сеанса", предоставляющего всем ссылку с SID, выполняет робот поисковика, а роль "злоумышленника" - любой перешедший по этой ссылке.
- Как сделать, чтобы роботы сохраняли "чистые" ссылки, без строки параметров?
И про уничтожение я не совсем понял. Есть функции session_unset() и session_destroy(), но я не понимаю,
- в каком месте сценария их надо использовать, чтобы связь страниц через сеанс не разрушалась? | |
|
|
|
|