Я всё пытаюсь да пытаюсь что-то изобрести в свободное время))
Задумка такова , если кукесы пустые происходит инициализация сессии, в куки рандомная строка в базу хэш строки,
Ок , ладно ,знаний мне хватило на эти хакиииирьские манипуляции )) c md5 можно поймать колизию , сделал поле primary key. Что теперь делать ? Если id сессии выступает в виде хэша md5, взять в цикл генерировать до тех пор пока не найдется свободный.PHP:
$session_id = session_create_id();Возникает вопрос теперь, как получить из базы данных этот хэш если он же и есть id,
Код (Text):
select id from sessions where id = $hash, ок какя-то дичь а не запрос ,походил подумал типа
Код (Text):
select `id` from sessionsвыбрал все сесии потом поместил их массив
PHP:
Помечтаем не много, вдруг у меня миллион сессии или 20 миллионов, это все 20 миллионов ждать , тоже какая-то дичь . Но пока 4 бота и я 1
Как это всё оптимизировать, чтобы можно было сравнивать или есть такой хэш (он же id) тогда выполнять мне мои задумки дальше генерация перегенерации , сравнивать или совпали не совпали с текущей и т.д и т.п , памагите навести порядок ))
https://www.php.net/manual/ru/function.session-set-save-handler.php
Это не то , мне нужно сообразить поиск по таблице адекватный с моими воображаемыеми 20 миллионами, потому что я передаю не уникальное значение и primary key зря вставил чувствую
Перестал бы уже велосипед изобретать…
Я думал об этом уже типа взять готовую cms ,но на ошибках учатся а не на готовом по этому вопрос стоит как и стоял
И вдруг у меня 20 миллионов этих id
PHP:
if($hash != $s[‘id’]) // тру код 🙂Это уже 2-3 месяца прошло, я начал хоть понимать что-то, 3 месяца назад ещё веселей было ))) когда я писал select count(*) в num_rows и на конце limit 1 этот форум этих моментов не застал
ТипаPHP:
if(mysqli_num_rows(mysqli_query($mysqli , «select count(*) from users where email=»{$email}» LIMIT 1″ )) > 0)
Я тЕ уже писал в др. теме, что это хрень, и писал, как надо делать. Но ты походу проигнорил. По крайней мере я отклика не получил.
Ещё раз пожалуйста, я мог где-то на другом форуме зависнуть и забить
Ну найди свою недавнюю тему, где примерно про то же самое спрашивал.
И нафига вообще session_id самому в БД сохранять? Сессии пыха или в файлах хранятся, или ты в конфиге пыха нужное хранилище прописываешь. А поднятая тема актуальна, когда сессии пыха НЕ используются
Для того чтобы когда ты вошёл на сайт ты гость или Вася был в одной сессии , аунтефикацию прошел опередило как пользователя к сессии в бд добавилась id пользователя вышел с аккаунта колоночка в null превратилась, у каждого свои идею, как правильно нету ))
Или я тебе в кукесы влеплю 1 и в базу 1 ?))
А вот это $_SESSION вообще не знаю зачем нужно, прочитал что живут до закрытия браузера , на этом и закончил изучение $_SESSION
Разным «гостям» одна общая сессия? Вообще не создавай гостям сессии, т.е.стартуй сессию по условию. Или используй для гостей «анонимные» сессии, т.е. разные, причем создавать такие сессии лучше не по GET’у, т.е. тоже не сразу создавай, а когда они какую-то кнопку тыкнут.
А понятно… Доку пыха не осилил. В $_SESSION хранятся данные сессии, загруженные в память. Причем когда ты меняешь эти данные (часто говорят «меняешь сессионные переменные», т.е. элементы этого superglobal-массива), то пых обычно автоматом выписывает обновленные данные в сессионное хранилище. Немного похоже на AR
Ты Вася заходишь ты на сайт чекнул или у тебя куки пустые создал тебе сессию, если не пустые нужно чекать что у тебя в кукесах , так вот чтобы до этого момента дойти я пытаюсь расхлебать вот это потому что записей может быть 20кк но на само деле не будет но всё же )))
PHP:
if($hash != $s[‘id’])Ничего не вижу в этом плохого единственное что будет весить база много но это решаемо по дате последнего посещения
Я говорил мне всё равно как работает $_SESSION , он дохнет после закрытия, значит не интересует даже что он может хранить, это популярно во время аунтефикаци для галочки запомнить или нет, да 15 лет я не разу ее пустую так и не оставлял по своему опыту удобно когда запомнил кука в браузер ушла а не долбить каждый раз логин и пароль, решил что мусор не нужный
Не, тогда ты просто стартуешь сессию и «чекаешь» ее содержимое, например:
PHP:
// сессия была создана ранее } else { // сессия была создана только что }В сессионной переменной id ($_SESSION[‘id’]) достаточно просто id юзера хранить.
Объясни мне , зачем мне этот мусор? Каждый раз после закрытия долбить логин и пароль в систему? +100к безопасности типа)))
У меня пароль от гугл аккаунта на старом телефоне в виде скриена был проблема в том что я вошёл на этом телефоне ещё до того как разбил там экран ну вот 2 года хожу не зная своего пароля , номер привязан к докам а акк к номеру вот яу безопасности надо поменять пароль а мне по фигу там 20+ символов, номер же привязан как всё слетит тогда поменяю ну и телефон как доверенно устройство выступает , не скоро слетит)) а теперь представим была бы эта хрень на сессиях я бы не пользоаался бы даже Гуглом, я туда не собираюсь долбить пароль даже которого я не знаю ))
Не понял.
— Добавлено —Можно использовать разные сессии для одного юзера. Если реально хочешь разделять сессию между девайсами юзера, тогда правда попробуй без сессий пыха обойтись. Как быстро искать/менять такие записи в БД, писал в др. теме.
Ну вот напиши себе аунтефикацию на этом массиве и поймёшь
Я не конченый дебил, чтобы такие массивы создавать
— Добавлено —
См. приписку к пред. посту. Успехов.
Из Гугла
В широком смысле слова — это все запросы, сделанные пользователем в конкретный период времени. В узком смысле «сессия» в веб-аналитике — это серия запросов или переходов с согласованной потребностью пользователя. В Google Аналитике используется понятие «веб-сеанс».Так от в моем представлении может сессия длится 365 дней и после закрытия браузера
— Добавлено —Себе не хочет а другим советует , вот как раз ты и такой , сам себя так назвал переписка это подтверждает рассказывает учит как правильно а сам же и не хочет на этом правильно писать себе
Будешь борзеть, нах пошлю. Где я тебе советовал создавать стопудовый массив? Ты сам эту хрень придумал.
Если потянуло поумничать, лучше разберись в элементарных вещах сам. А коли решил отнимать чужое время, относись с уважением и пытайся вникнуть в то, что тебе пишут. Успехов.
Я придумал сессию которую я увидел клю в куки хэш ключа в бд , Хэш выступает в качестве идентификатора записи, учитывая что у меня опыта мало я задал вопрос как можно решить кукок кода если 20 миллионов записей, не помещать их в массив и по ему искать же , может ещё как-то, ты не понял что происходит начала рассказывать как правильно , ну вот как правильно я считаю я уже придумал, осталось до ума довести , что и пытаюсь
Нету как правильно главное чтобы логика была 9×5+5 или 10×5 желательно 10×5 так же проще но мы получаем один и тот же результат в обеих случаях, ну вот я выбрал путь 7×6+8
Реально не можешь мой пост в др. своей теме найти?
В токене, который передается на клиент/приходит от клиента, объединяй id и ключ. Это объединение можешь дополнительно и на сервере хранить в отдельном поле, но обычно пакуют/распаковывают «на лету», а в отдельных полях хранят части.
— Добавлено —
Если хочешь разделять сессию между девайсами юзера, то ключ в БД нужно в открытом виде хранить, т.к. тебе понадобится его «распространять» на девайсы юзера.