[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 140% роутинг
Страницы: 1, 2
AllesKlar
Не красиво, конечно, но не смог удержаться (все имена изменены) smile.gif

Наконец-то мой павадан закомитил свой первый тикет.
Тикет был прост:
- прописать роутинг
- прицепить к нему акшен
- в акшене удалит из сессии объект Юзер

заглянул с целью реврайта.... путь, по которому срабатывает акшен is:
https://site.com/user/logout?logout=logout

наверное, чтобы наверняка smile.gif
Еще э и валидацию полную провел, чтобы параметр logout существовал и был неизменно равен
значению 'logout'. А иначе, никакого логаута, работай дальше, никто тебя не отпускал biggrin.gif

_____________
[продано копирайтерам]
Arh
Может это заделка на будущее.
Сейчас сравнивает с logout завтра будет сравнивать с токеном пользователя, продуман.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Ron
Ну что ж, реализован антипаттерн Accidental complexity. =)

AllesKlar, можно я неудобный вопрос задам? Что делает logout в контексте (классе) user? rolleyes.gif

AllesKlar
Цитата (Ron @ 26.09.2017 - 15:51)
AllesKlar, можно я неудобный вопрос задам? Что делает logout в контексте (классе) user?


да, конечно.
Это когда пользователь жмакает кнопочку "Auslogin", то веб-морда шлет запрос к backend, где прописан такой роутинг /user/logout, который забиндин с классом-екшеном UserAction, где есть метод logout(), который производит удаление Entity-класса User из сессии, чтобы потом мог другой человек за комп сесть и ввести свой логин и пароль, тогда он жмакает в вебморде на кнопочку "Einlogin", и она (вебморда) шлет запрос к бекенду, в котором прописан роутинг /user/login, который забиндин с классом-екшеном UserAction, где есть метод login(), который шлет запрос к api, которое читает данные из базы, и если в базе есть данные с подходящими паролем и логином, то api шлет бекенду токен, а бекенд пишет в сессию Entity-класс User, чтобы этот, который жмакнул кнопочку "Einlogin" смог посмотреть видосик на своем канале.

_____________
[продано копирайтерам]
waldicom
Цитата (AllesKlar @ 26.09.2017 - 15:51)
да, конечно.

Ну фсёёёё... Ща тебе расскажут, какой ты лох, потому что logout нужно было делать через фабрику, которая через dependency injection вызывала бы контекст синглтона, в котором уже через observer был бы вызван декоратор фасада прокси в медиаторе... Ну в общем ты понял... Думаю тебе от стыда лучше бы уйти в монастырь и забыть о программировании функций logout и login

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
AllesKlar
waldicom
Мне пофиг, я вообще наш api на Яве пишу, там EJB контейнер и баста.
С php попросили по старой памяти помочь, ну я и помог, как помню smile.gif

Ron
А чО, плохой роутинг? Объявляем конкурс на лучший роутинг для функции logout !

_____________
[продано копирайтерам]
sergeiss
Цитата (AllesKlar @ 26.09.2017 - 22:32)
А чО, плохой роутинг? Объявляем конкурс на лучший роутинг для функции logout !

Я первый буду со своим ответом smile.gif

Надо еще добавить указание ник-нейма и пароля. Если не указал - то никакого тебе логаута не будет! Можно даже "научную" базу подвести - чтобы никто меня не разлогинил, да чтобы и сам не разлогинился случайно user posted image

https://site.com/user/logout?logout=logout&username=USERNAME

А пароль отправить ПОСТом, чтобы не "светить"...

Ну так и чего, где приз выдают за победу в конкурсе? wink.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AllesKlar
Цитата (sergeiss @ 26.09.2017 - 21:37)
https://site.com/user/logout?logout=logout&username=USERNAME

Тогда уже добавить хост.
https://site.com/user/logout?logout=logout&host=mail.ru&username=USERNAME

Хотя не... так можно полинтернета удаленно разлогинить... опасно.

_____________
[продано копирайтерам]
killer8080
Все про хихикали над джуном за избыточную валидацию, а реальной проблемы так никто и не увидел? ohmy.gif
Там же чистая CSRF wink.gif

Цитата (Arh @ 26.09.2017 - 13:27)
Сейчас сравнивает с logout завтра будет сравнивать с токеном пользователя, продуман.

да, только о безопасности нужно думать не завтра.

Про нарушение семантики http я вообще молчу, GET сплошь и рядом используют не по назначению smile.gif
Arh
killer8080
Цитата
да, только о безопасности нужно думать не завтра.

Он просто ещё не знает о CSRF, но уже чувствует. Настоящий профи растёт)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
killer8080
Цитата (Arh @ 27.09.2017 - 09:59)
Он просто ещё не знает о CSRF, но уже чувствует. Настоящий профи растёт)

А "мастер Йода" на что? Должен наставить своего "подавана" biggrin.gif
AllesKlar
Цитата (killer8080 @ 27.09.2017 - 08:08)
А "мастер Йода" на что? Должен наставить своего "подавана" 

Спокуха, запросы шлются из моей обертки, там в хеадерах все токены расставлены по феншую ph34r.gif

_____________
[продано копирайтерам]
killer8080
Цитата (AllesKlar @ 27.09.2017 - 12:10)
Спокуха, запросы шлются из моей обертки, там в хеадерах все токены расставлены по феншую 

а толку, когда в урл его нет smile.gif



Спустя 2 минуты, 28 секунд killer8080 написал(а):
AllesKlar
обрати внимание как сделан логаут на этом форуме, когда то тут тоже эта дырка была ph34r.gif
AllesKlar
Цитата (killer8080 @ 27.09.2017 - 10:12)
а толку, когда в урл его нет

А зачем он в урл?
POST mysite.com/logout
Header X-CSRF-Token: yEbgU6m7OienYT7zBp9p7b0xBIlTWh49iFD6ncJ1vakwyh6dSZm80wVBzKUAjxMf


Токен одноразовый, висит в сессии на сервере.

_____________
[продано копирайтерам]
killer8080
AllesKlar
пост запрос это от бэкенда к апи? А от клиента к php гет?
Может я не правильно понял из первого поста unsure.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.