Полтергейст в Opera 1.5.1

Статус
В этой теме нельзя размещать новые ответы.

dumber

Постоялец
Регистрация
23 Апр 2007
Сообщения
272
Реакции
124
Наткнулся на следующую фичу.
Код открывал класс сессии в котором при конструкции
запускался session_start();
брался через session_id() идентификатор + другие даные юзера. Все это затем через внутренню функцию класса записывалось в БД, причем идет проверка на уже наличие в БД записи с таким же UID (возвращается session_id()) все вроде бы нормально. В Осле и Лисе схема рабоатет без лагов, а вот в опере. Каким то волшебным образом конструкция класса вызывалась дважды, причем 1ый раз с нормальнным id сессии, второй раз с другим и постоянно меняющимся. Причем исполняем код не выводил ничего (я пробовал через echo показывать что должно вписываться в базу, все отображалось из первого запроса, второй просто игнорировался) в итоге в БД сессий при каждом обновлении страницы - обновлялась запись текущей сессии с ID ***** и еще добавлялась одна сессия с другим ID. В Лисе и Осле повторений нет. Удивило...
Чтобы не записывались эти ненужные и нечитаемые самим же браузером сессии. Пришлось при конструкции класса созданный session_id помещать в cookies и затем при добавлении в БД проверять на соответствие текущей ID сессии на ID из кукисов.
Так что это было? :nezn:
 
1. не понятно при чём здесь PHP, если глюк только в опере.
2. не понятно при чём здесь уязвимость.
 
1. не понятно при чём здесь PHP, если глюк только в опере.
2. не понятно при чём здесь уязвимость.

Проще говоря не в тему :)
PHP потому что код мну писал на PHP
уязвимость, потому что заходя из Опера некоторые сайты могут вести себя поиному в плане сессий, а значит "возможно" где-то будет дырочка... :-]

Админы: если тема, неправлиьно выбрано, перенесите плиз, более подходящей я не нашел :(
 
Желательно показать код, так проще будет разобраться.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху