Сергей
чёт первый раз пожалел, что стал притягивать эвошечку 1.4 сюда
так а чем композер не угодил? секция "autoload": { "psr-4": { "App\\": "src/" } }
Сергей
добавил в композере свой неймспейс и тащи всё из него
Bilbo Baggins
да не шарю наверное потому что
Bilbo Baggins
взял за базу структуру commerce
Bilbo Baggins
у него свой autoload.php
Bilbo Baggins
да и как это влияет на потерю сессии то?
Алексей
Всех приветствую 👋 А есть кто-нибудь из Липецка? Хочу попробовать передать проект, который несколько туго идёт. Заказчик плохо понимает про сайты и крайне туго предоставляют информацию. Кажется если терииториально быть там, то можно сдвинуть это с мёртвой точки и закрыть проект. Готов в л/с пообщаться рассказать про бюджет и текущее состояние.
Aleksander
Господа, мне нужен кто-то, кто разбирается в webloginpe. Нужно добавить страницу на старый сайт. Если заинтересованы, пишите, договоримся по цене
Aleksander
Страница должна показываться после логина пользователя и в ней должно быть показано имя клиента, остальное обычный текст
Aleksander
он глючный весь этот сниппет.
я не выбираю сниппет, я ищу, кто мне сделает заказ)))
Alexander
я не выбираю сниппет, я ищу, кто мне сделает заказ)))
я к тому что желающих работать с этим гавном наверное не будет((
Andrey
Чет да, такое себе.
Илья
ну и Access-Control-Allow-Origin с Access-Control-Allow-Credentials проставить. везде работает вроде
Илья
а и request.setup добавить crossDomain: true, xhrFields: { withCredentials: true },
Bilbo Baggins
мерси попробую через htaccess withCredentials: true стоит
Илья
все условия обязательны)
ᛟᛗᛖᚾ
Marc
Hi guys, EVO 3.1.8 has a bug. When delete a resouge with the delete button I get the error message I have no rights. This does work when delete in resource tree in the manager.
Marc
Marc
Marc
No permission 😮
Bilbo Baggins
все условия обязательны)
в axios не надо crossDomain: true На сервере Access-Control-Allow-Origin и Access-Control-Allow-Credentials проставлены Иначе не проходил бы даже OPTIONS браузеры не ругаются на CORS просто сафари не сохраняет куку В нормальном режиме хром и FF работают нормально В инкогнито - болт Сафари - всегда болт
Илья
хм. ну у меня к апишке коннектяцца приложухи гибридные с ios и android. все норм
Илья
надо копать
Bilbo Baggins
на 1,4 ?
Bilbo Baggins
еще раз: проблема не в CORS как таковом а невозможность получить сессию, т.к. кука с id сессии не передается
Илья
в сафари если открыть приложуху, оно тоже не сохраняет кукис. но он передаецца https://monosnap.com/direct/cVKncyTAHpsg215DAHUf7dYk2ylVJb соответственно надо искать почему сафари не юзает кукис
Илья
For Safari 11, Safari/Preferences/Privacy and uncheck Prevent cross site tracking.
Илья
))
Jacov
спасибо апле за прайваси?
Илья
вероятно должен быть обходной маневр
Илья
а обходной маневр прост. браузер должен думать что он на сам себе запросы шлет. в framework7 это реализуецца прописыванием хоста равному хосту апишки
Илья
типа вот этого вероятно https://stackoverflow.com/questions/47407564/change-the-default-base-url-for-axios
Dmytro
еще раз: проблема не в CORS как таковом а невозможность получить сессию, т.к. кука с id сессии не передается
куки в инкогнито передаются. иначе сайты бы подали все нафиг в инкогнито
Bilbo Baggins
речь про xdomain
Dmytro
речь про xdomain
я конечно не знаю, зачем тебе передавать айди сессии на другой домен, но ты его можешь прицепить как гет-параметр в урл
Bilbo Baggins
решил пробросом в заголовке
Bilbo Baggins
но всё же некрасиво: if (isset($_SERVER['HTTP_X_XSRF_TOKEN'])) { session_write_close(); session_id($_SERVER['HTTP_X_XSRF_TOKEN']); session_start(); }
Bilbo Baggins
и небезопасно, возможно
Sasha
Приветствую, чёт докатились до стандартизации процесса производства, которое должно вылиться во внутренний и внешний документ для клиентов, проекты становятся сложнее и буксуем в коммуникации и тп, если у кого-то есть внутренние регламенты и всякие документы для клиентов, и не жалко поделиться тезисно - будет интересно почитать, в личку. Agile не предлагать, 99% не поймут 😆
Sasha
1 это не юзать Evo :))))
от типа мотыги земля не зависит
Dmytro
Ево это ж инструмент если он под задачи подходит то нет проблем с ним
Sasha
Ну да, эво говно, php тоже, mysql, jquery 😂
Dmytro
Ну да, эво говно, php тоже, mysql, jquery 😂
Мотыга топ, как раз удобно ей говно разгребать :))
Marc
MultiTV > PHP 8.0 issue: Is there a simple solution? « Evolution CMS Parse Error » Error : Undefined array key "templates" https://github.com/extras-evolution/multiTV/blob/master/assets/tvs/multitv/includes/multitv.class.php#L270
Am
йоу синьоры, кто-нибудь делал на 1.4 апишечку кроссдоменную? с введением новой политики безопасности хрома пришлось заколхозить startCMSSession() добавил 'samesite' => 'None' Но: 1. сафари похер, куку не ставит 2. в инкогнито не сохраняются куки, соответственно не могу получить сессию
Вообще за такое дело, обычно, отвечает "сервер сессий", который должен быть один для всех доменов. Например, подобным сервером сессий может выступать обычная БД в которую при, допустим авторизации, складывается уникальный id-сессии. Дальше уже логика может быть с перенаправлением и указанием шифрованной id-сессии на нужный домен где уже принимаем из URL данные и смотри существование id-сессии с разными приблудами в общий сервер сессий. Можно расширить безопасность, надеюсь мысль основная ясна. Конечно лучше между API использовать все-таки механизм понятный, типа JWT того же токена и по нему централизовано проверять доступ. Т.е. один домен все равно должен быть "главным". А за "подлоги" данных между серверами браузеры будут и дальше "давать по морде".
Bilbo Baggins
jwt использую, но для авторизованных юзеров а сессия нужна всем
Bilbo Baggins
да и неважно какой механизм использовать всё-равно session_id не найти получается, если не передавать принудительно
Am
Тогда центральный сервер сессий нужно сделать хотя бы в виде таблицы в БД в которую складывается id-сессии или токен. Чтобы по нему можно было сделать проверку и на новом домене ставить куку и считать что все хорошо.
Pathologic
а если сделать свой обработчик сессий, чтобы они хранились на отдельном сервере в базе?
Am
Про это и речь.
Am
Это и есть сервер сессий.
Am
Просто самый просто вариант это сделать "главный" домен и там проверять.
Pathologic
производительность наверное пострадает
Oleg
Или добавлять новые, тут как пойдёт
Вот как надо вопрос ставить: задонатите 30$ и я исправлю 30 багов, а если НЕ задонатите, то добавлю ещё 30 новых.
Am
На больших объемах можно RADIUS подключить
Bilbo Baggins
Просто самый просто вариант это сделать "главный" домен и там проверять.
это если надо ограничить доступ с доменов. я же просто с фронта на localhost не могу получить сессию какой домен передают мобилки - пока не в курсе Тоже наверное localhost
Am
это если надо ограничить доступ с доменов. я же просто с фронта на localhost не могу получить сессию какой домен передают мобилки - пока не в курсе Тоже наверное localhost
Возможно, потерял нить задачи. В целом раз есть кроссдоменность, то нужна третья сторона не важно что там и как, т.к. домен есть домен.
Oleg
Не, я же не плохой человек
Ну раз так, то можно добавлять "for glory of Satan 😈"
Bilbo Baggins
в связи с введением новых политик безопасности в хроме / сафари кроссдоменные куки не передаются. Evo при создании сессии пишет в куку session_name = session_id И все последующие запросы должны идти с этой кукой. Но если кроссдоменность - то нет куки, соответственно и сессия не поднимается. Вот и вся трабла
Bilbo Baggins
ну я полностью механизм сессий видимо не осознаю redis не решит?
Pathologic
ты можешь свой обработчик сессий написать и там хранить где угодно
Pathologic
домены будут отдавать корректные куки
Bilbo Baggins
без перепиливания evo ?
Pathologic
а сессия будет одна на все домены
Аляксандр
Pathologic
надо просто посмотреть, есть ли в ево возможность подсунуть обработчик до того как начнется старт сессии
Аляксандр
В 3.0 сессии на редис впилены
Bilbo Baggins
домены будут отдавать корректные куки
домен и так отдает корректную куку. но браузер её не сохраняет
Bilbo Baggins
вообще, я сделал уже хотелось бы понять - насколько это неправильно / небезопасно / чем грозит
Аляксандр
надо просто посмотреть, есть ли в ево возможность подсунуть обработчик до того как начнется старт сессии
В 3.0 если я правильно помню, то можно переназначить обработчик старта сессии. Или я за не дорого могу допилить этот функционал, то что можно подменять обработчик старта сессии
Bilbo Baggins
подмешиваю id сессии в заголовки ответа затем проставляю его при последующх запросах в плагине делаю session_start с нужным id из заголовка