Comments 21
Интересно, человек предложил решение, а ему наставили минусов. За что?
Я не граммар наци, но, возможно, за это и подобное:
Или за:
Я лично, надеялся увидеть решение проблем Phalcon'овских токенов, а меня либо отправляют обратно на форум, либо констатируют известные проблемы с перегенерацией токенов в новом окне и т.п.
А в целом, могу предложить автору (да и всем желающим) от себя редактуру текстов на общественных началах. Обращайтесь)
Ложим токен в meta данные
Или за:
А что делать если формы две? Идите на форум, ищите решение,
Я лично, надеялся увидеть решение проблем Phalcon'овских токенов, а меня либо отправляют обратно на форум, либо констатируют известные проблемы с перегенерацией токенов в новом окне и т.п.
А в целом, могу предложить автору (да и всем желающим) от себя редактуру текстов на общественных началах. Обращайтесь)
Простите, ни разу не сталкивался с этими граблями.
Я согласен что нужно всё это разделять, но у меня много контроллеров, и моделей, в разных страницах используются разные, и чтобы везде это работало, нужно было дублировать код, а так я разместил в одном месте этот код, и всё, больше нигде ничего не надо.
1. Если человек захочет посмотреть исходный код страницы (не через firebug, а в отдельном окне), то при загрузке с генерируется новый токен, и вернувшись на страницу ни один запрос не будет обработан. Возможно это и хорошо, нечего лезть в исходный код.
да я думаю просто, если пользователь откроет ту же (а может даже и любую) страницу вашего приложения в новом табе, то в старом табе уже AJAX запросы работать не будут, верно?
Да верно, токен хранится в сессии пользователя.
А вы не ошибаетесь? Сессия не зря так названа, это серия запросов от одного пользователя, неважно из какого количества вкладок одного браузера (не считая режима «инкогнито»). Если бы токен основывался на сессии, то он был бы идентичен на протяжении всего сеанса пользования приложения.
Поправьте, если ошибаюсь я.
Поправьте, если ошибаюсь я.
Поправьте меня, пожалуйста, если я не прав. Мне кажется, что в AngularJS не спроста нету CSRF из коробки. Потому что когда вы делаете API, делать в нем аутентификацию при помощи кук это как-то странно ИМХО. Я думаю, лучше этот токен хранить где-то в Local Storage, например, и посылать его со всеми запросами в заголовках, тогда никакие CSRF будут не страшны.
меня давно интересует эта проблема (без привязки к фреймеворку или языку)
лучшее что я нашел auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/
лучшее что я нашел auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/
Немного оффтоп, но все же. У вас есть серьезные причины не использовать шаблонизатор? Просто
смотрится не очень в шаблоне.
<?php echo $this->blablaObject->getBlablaId(); ?>
смотрится не очень в шаблоне.
Да есть причина. У AngularJS и шаблонизатора Volt Phalcon одинаковый синтаксис. Они оба используют {{переменные}} в двойных скобках. На форуме было решение, но мне проще использовать чистый PHP, да и он побыстрее будет ;)
Хм, по идее шаблонизатор должен уметь компилироваться и настраиваться.
angular.module('application').config(function ($interpolateProvider) {
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});
а почему не рассматривается решение через стандартный метод AngularJS?
https://docs.angularjs.org/api/ng/service/$http#cross-site-request-forgery-xsrf-protection
https://docs.angularjs.org/api/ng/service/$http#cross-site-request-forgery-xsrf-protection
Sign up to leave a comment.
Защита веб-приложения на Phalcon + AngularJS от CSRF атак