
Pavel
16.01.2018
10:18:21
Ребята, у меня давно такая идея, но хз как сделать
подключение классов в модулях
ну стандартно типа
include CLASS_DIR.'myclass.php';
include CLASS_DIR.'myclass2.php';
а хочется через какую то функцию это делать

Google

Pavel
16.01.2018
10:19:53
но функция завершится и уничтожит всё

Виталий
16.01.2018
10:20:10
autoloading ??

Alex
16.01.2018
10:22:06
autoload()
__autoload()

Виталий
16.01.2018
10:22:43

Pavel
16.01.2018
10:23:30
документашка советует юзать spl_autoload

Alex
16.01.2018
10:23:54
Вариантов куча)

Виталий
16.01.2018
10:24:18
http://www.php-fig.org/psr/psr-1/#3-namespace-and-class-names
https://getcomposer.org/

Pavel
16.01.2018
10:25:57
как то я с пространствами имен пока не подружился, или может пока не особо нужно
что там есть $db-> есть $tpl->
еще генератор формочек

Google

Виталий
16.01.2018
10:26:45
подружись, смысл в твоих изысканиях если не понимаешь простого
$db-> есть $tpl-> это переменные

Pavel
16.01.2018
10:28:07
ну при запуске движка работа с шаблонами и базой и объявление классов, которые во многих функциях используются
<?php
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
});
$obj = new MyClass1();
$obj2 = new MyClass2();
?>
я вот гляжу на этот пример

Виталий
16.01.2018
10:30:37

Pavel
16.01.2018
10:31:02
получается, эта штука при объявлении несуществующего класса Myclass1 будет пытаться инклудить с таким именем файл?

Виталий
16.01.2018
10:31:03
и еще много много чего
echo MyClass1::class тоже

Pavel
16.01.2018
10:33:00
ого, спасибо

Виталий
16.01.2018
10:33:46
уловил только основу?

Pavel
16.01.2018
10:35:03
я какую то фигню писал типа if (!class_exists(...)) include ....
порой, строчишь, строчишь, некогда вникать во что-то другое, и так годами используешь только то, что знаешь
ладно, спасибо, на досуге буду эксперементировать, ждет меня глобальный рефакторинг

Виталий
16.01.2018
10:55:22

Максим
16.01.2018
11:29:13
PSR4 autoload если юзаешь неймспейсы

Roman
16.01.2018
13:59:10
Господа, кто-нибудь может подсказать какое-нибудь простое решение следующей проблемы:
Хочется увеличить время сессии авторизации пользователя. Хочется реализовать с помощью БД.
Что можете посоветовать?

Pavel
16.01.2018
14:01:26
Время сессии настраивается обычно где-то в конфиге пхп или в конфиге фреймворка
Так что простое решение - всего лишь найти эту опцию и увеличить ее.

Google

Roman
16.01.2018
14:04:01
Ну мне всё равно хотелось бы на неделю поднять
И знаю, что очень удобно хранить какой-нибудь хэш в БД например
и в куках у пользователя

Pavel
16.01.2018
14:05:42
Ты вообще каким инструметарием пользуешься?
фремвёрки почти все сейчас позволяют сессию в БД запихнуть

Dmitry
16.01.2018
14:08:13
ну так храни в базе случайную строку и ее же ставь в куку - вот и все дела
можно в куках хранить хеш от пароля + всякое полезное, и просто проверять этот хеш
но в общем в любом случае в базу лезть

Roman
16.01.2018
14:11:20
в куках надо будет хранить ид юзера и этот хеш (одноразовый пароль)
сверять его в бд, если верный - то продлить жизнь, если неверный - убить

Yury
16.01.2018
14:19:51

Pavel
16.01.2018
14:19:54
IP то может меняться
Я бы вообще взял хеш от uuid

Dmitry
16.01.2018
14:24:47
ip нынче активно меняется, да... но в общем от контекста зависит... обычно хеш пароля, ключ приложения какой-то секретный, юзерагент... ну и если нужно ограничить время жизни - то таймстамп

Roman
16.01.2018
14:32:41
В бд придется хранить больше одной записи от одного пользователя, для случая, если он с нескольких устройств хочет держать сессии

Pavel
16.01.2018
14:33:12
Тебе надо построить модель секурити сессий
Потому что генерить хеш из пароля и IP может быть не просто плохой идеей а фатальной

Google

Pavel
16.01.2018
14:34:09
Злоумышленник допустим узнает пароль, вычислит по IP и сможет подменить сессию.

Dmitry
16.01.2018
14:35:36
эм... зачем человеку подменять сессию, если он узнал пароль? ;)

Pavel
16.01.2018
14:36:50
Затем что современные хитрозадроченные системы даже в таком случае позволяют не профукать аккаунт безвозвратно. Сессия остается для пользователя спасательным кругом, ему в нее может прийти уведомление о том что кто-то зашел с другого конца света с его паролем, заблокировать и т.д.
В том числе есть кнопочки "выйти из всех других сессий"
Ну это если Неискусан считает себя великим стартапером, то ему надо обо всем этом подумать )

Dmitry
16.01.2018
14:38:28
и что, зашел под паролем, вышел из всех сессий и привет ;)

Roman
16.01.2018
14:38:54
https://habrahabr.ru/post/325452/

Pavel
16.01.2018
14:39:20
Уже хотя бы юзер узнает что его кикнули и поднимет тревогу
А с подмененной сессий хакерец может тихонько сидеть ваще не вызвая подозрений

Dmitry
16.01.2018
14:40:33
не, сессию он никак не сгенерит из пароля, ибо так как минимум должен быть ключ приложения
не говоря уже о том, что данные пойдут с другого IP

Pavel
16.01.2018
14:43:05

Roman
16.01.2018
14:43:27

Pavel
16.01.2018
14:43:42
Точнее IP спуфинг

Roman
16.01.2018
14:43:57

Dmitry
16.01.2018
14:45:51
потому что пользователю гонять каки постоянно на сервер придется
и так кучу кук понапихают, а если еще и сессионные данные... и вообще зачем тебе сессии?

Roman
16.01.2018
14:51:06
ну удобно, когда неделю не надо авторизовываться

Dmitry
16.01.2018
14:51:35
м, ок, не так спросил... зачем тебе "сессионные данные"

Google

Roman
16.01.2018
14:52:16
да мне в принципе не суть что именно хранить, главное - конечный результат
чтобы когда человек через 6 дней снова откроет сайт - он сразу был авторизованным

Dmitry
16.01.2018
14:52:58
ну тогда hmac кука и все, никаких php сессий и сессионных данных тебе вообще не нужно

Konstantin Vitevskiy
16.01.2018
15:45:36
Ребят, есть тут кто нибудь, кто сможет небольшого бота для телеграм написать?

Pavel
16.01.2018
16:35:47

Pavel
16.01.2018
20:12:22
Кто-нибудь может кратко рассказать, почему код на зефире быстрее обычного всего на 10-40% ? Вроде должно быть быстрее.

Maksim
16.01.2018
20:14:12
а цифра откуда?
там и 10% - уже дохера) а про 40 вообще странно слышать)

Pavel
16.01.2018
20:15:52
Вчера видел в слайдах доклада какого-то чела
с devconf

Maksim
16.01.2018
20:16:13
за какой год-то? явно не с семёркой сравнивали

Pavel
16.01.2018
20:16:28
Ща поищу

Maksim
16.01.2018
20:16:47
пасиб

Pavel
16.01.2018
20:18:06
https://devconf.ru/ru/archive/devconf2016/offer/86
Внизу ссылка на презентацию, 12 слайд

Maksim
16.01.2018
20:20:36
эх( я думал обоснование какие-то будет. А тут чёт на вентилятор набросили и даже почему такая большая дельта ни слова...
тот же фалкон с выходом семёрки нахер никому не нужен. Зефир всё ещё интересен с точки зрения некоторых фишек, но цифра более 10% мне лично кажется враньём

Pavel
16.01.2018
20:22:57
Если просто какой-нибудь цикл из вычислений написать то 1000% должно быть минимум

Maksim
16.01.2018
20:23:48
хз, надеюсь, есть тут кто-то, кто сможет объяснить такую цифру. я бы тоже послушал.