Оторизация на сесии и бисквитки, PHP MySQL v

Авторизация на сесии и бисквитки, PHP+MySQL v.2

Може би си струва да започнем с описание на логиката. Както знаете, времето за съхранение на сесията е 30 минути. По ирония на съдбата не трябва да го увеличавате в настройките на сървъра, това ще увеличи натоварването на сървъра и най-вероятно ще доведе до загуба на производителност. Можем също така да зададем собствена папка за съхраняване на сесии, но тогава трябва да напишем инструмент, който да я изчисти - в противен случай ще съхраняваме всички сесии, които някога са съществували, но нямаме нужда от това. Това отново ще увеличи натоварването, ще намали времето за реакция и ако използвате малък хостинг план, тогава може да ви свърши място, при условие че почистването на тази папка е написано с грешки.

Най-добрият вариант е да комбинирате сесии с бисквитки. На първо място, при достъп до страницата се проверява съществуването на сесията. Ако няма сесия, тогава проверяваме за наличие на бисквитки.

Мисля, че е време да започнем да кодираме. Първо, нека създадем две таблици в MySQL:

СЪЗДАВАНЕ НА ТАБЛИЦА, АКО НЕ СЪЩЕСТВУВА `session` ( `id_user` INT ( 5 ) NOT NULL , `code_sess` VARCHAR ( 15 ) NOT NULL , `user_agent_sess` VARCHAR ( 255 ) NOT NULL , PRIMARY KEY ( `id_user` ) ) ENGINE = MyISAM DEFAULT CH ARSET=utf8;

СЪЗДАВАНЕ НА ТАБЛИЦА, АКО НЕ СЪЩЕСТВУВА `users` ( ​​​​ `id_user` INT ( 5 ) NOT NULL AUTO_INCREMENT , `login_user` VARCHAR ( 60 ) NOT NULL , `passwd_user` VARCHAR ( 255 ) NOT NULL , `mail_user` VARCHAR ( 2 55 ) NOT NULL , PRI MARY KEY ( `id_user` ) ) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1 ;