Нужна помощь, проблема с сессиями

1 2345 6
[Удален]
#31
Про горизонтальный скроллбар при 800х600 и красиво без картинок, да еще чтобы все весило 10Кб: уж не считаете ли вы, что это фантастика?

Да нет конечно, не фантастика. Однако минимализм хорош в меру.

Действительно, а нафига делать качественные магазины, когда идет поток заказов на одинаково уродливые клоны?

Т. е. для вас корректная работа в 800х600, без графики, без кук, без яваскрипта, и вес страничек по 10кб - является синонимом качества магазина? И магазин, в котором это отсутствует - вы так вот сразу зачисляете в уродцы?

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

mymind
На сайте с 07.09.2004
Offline
154
#32

Ну на сочиняли тут. Воду потолокли.

Достаточно .htaccess в корне сайта написать :


php_flag session.use_trans_sid off
php_flag session.use_cookies on

и никогда в линках не увидите идентификатор сессии. Что касается не использования оных, то это как раз самый защищеный и удобный механизм работы с передачей и хранения данных. Поэтому переделывать смысла нет.

Обмен криптовалют по выгодному курсу Bitpayes.com / Instabit.pro ( https://bitpayes.com http://instabit.pro )
[Удален]
#33
Кстати, по вашим резким ответам можно подумать, что вы знаете решение поставленной топикстартером задачи, и оно заметно лучше чем все здесь предложенные. Прошу озвучить его здесь, чтобы, как вы выразились, не прослыть балаболом.

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

Кстати, вы тоже знаете простенькое регулярное выражение для мод_реврайта, которое решает проблемы с сессиями ? А то стиль уж очень похож 😂

psylosss
На сайте с 23.12.2005
Offline
126
#34


^(.*)?PHPSESSID=([0-9a-fA-F]{32})$ $1

При желении можно дописать RewriteCond для роботов.

<офф>

Miha Kuzmin (KMY), а вас я ставлю в игнор. Уж не обижайтесь.

Хамство неприемлемо ни при каких ситуациях. Я вас не уважаю.

</офф>

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.
[Удален]
#35

Вот уж от чего мне ни тепло ни холодно :)

[Удален]
#36
^(.*)?PHPSESSID=([0-9a-fA-F]{32})$ $1

Ужас. Срочно мануалы читайте, не тратьте время на флейм. :)

[Удален]
#37
^(.*)?PHPSESSID=([0-9a-fA-F]{32})$ $1

Ой, не обратил сразу внимания. Это что за маразм и к чему он ?

psylosss
На сайте с 23.12.2005
Offline
126
#38

После общения с Interitus в привате понял, что я лопухнулся дважды: mod_rewrite действительно не решение + правило, которое я написал - неправильное.

Этот опыт дороже минусов, которые я получил в этом топике. Спасибо :)

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#39
Miha Kuzmin (KMY):
Мусью СКОРПИОН, как я понимаю, это вы про реврайт по глупости выдали, а теперь признаваться не хотите ? Я все еще продолжаю надеятся (и еще до вечера буду, пожалуй), что вы не балабол. Или все таки балабол ?

Михаил, если не умеете программировать - так и скажите, что Вы кодер, читающий мануалы и пытающийся что-то выродить. Зачем же флудить по все форуму. Если не ответил Вам вовремя - значит был занят. Но этот так - лирика. А теперь по теме.

Да, в мануале написано, что в mod_rewrite обрабатывается url до строки параметров, т.е. QUERY_STRING можно только отсечь или добавить, а манипулировать с его переменными нельзя. Да мало-ли что там написано? Голова на то и дана, чтобы думать.

Вот рабочий пример кода, который я (как сторонник open source) разрешаю использовать Вам там, где заблагорассудится. Будем исходить из того, что идентификатором сессии у нас является параметр osCsid (я думаю Вы слышали про CMS, которая добавляет его к урлам при отключенных куках). Итак, вот что надо сделать, чтобы используя модуль mod_rewrite вернуть запрашивающему агенту url без этого параметра:



RewriteCond %{QUERY_STRING} ^[^\?&]*osCsid=.{32}.*$

RewriteRule ^(.*)$ $1/%{QUERY_STRING}?
RewriteRule ^(.*)/osCsid=.{32}(.*)$ %{REQUEST_URI}?$2 [R=301,L]

Как я и говорил, всё довольно просто.

Кстати, условие добавлено для того, чтобы снизить нагрузку на сервер, всё работает и без него. Но скажите, ведь намного красивее выглядит, когда у нас обрабатываются не все url-ы подряд, а только те, которые содержат идентификатор сессии.

А теперь добавьте перед этим условием, например, вот такой код:


RewriteCond %{HTTP_USER_AGENT} ^Yandex.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^StackRambler.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Aport.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Google.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Slurp.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^msnbot.* [NC]

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

З.Ы. Программист тем и отличается от кодера, что думает головой, проверяет многие вопросы на практике, а не тупо копирует чужие листинги, изменив названия переменных. Сам я, к сожалению, уже несколько лет не пишу программы постоянно, теперь этим занимается компания, которой я руковожу, но очень долгое время только этим зарабатывал себе на хлеб. И не только на хлеб. А вот Вас на работу я бы не принял...

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
[Удален]
#40

Блестящий пример ! Я просто в восторге ! Когда робот будет пытаться взять страницу с сессией, отдавать ему 301 на страницу без сессии ! Ну это да, надо было придумать, бугагага 😂

1 2345 6

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