Вопросы с тегами [session]

1

голосов
1

ответ
9.2k

Просмотры

Уничтожить PHP сессий в браузерах Tab Close

я stucked, я работаю над проектами hotbartendersla я использовал много сеансов для обработки данных в бронировании событий, теперь я хочу, чтобы уничтожить сеанс, когда пользователь закрыл окно / вкладку браузера, потому что когда-либо я открытая площадке остатков выбора так же, как я и сделал. я использовал эту функцию window.onbeforeunload = () {$ .post ( "mysessionsdestroypage.php", функция (данные) {}); } Но когда я прыгнул на шаге 2, шаг 3, мои сеансы будут уничтожены данные и не достигли на шаге 4. я искал много, но я не нашел надежное решение для этого
Engr Zardari
1

голосов
1

ответ
1.2k

Просмотры

Весна загрузка основной весна аутентификации загрузка сеанс возможно

У меня есть серверное приложение фонового пружинных загрузок, который реализует базовую аутентификацию по протоколу HTTPS. Не будем иметь традиционный веб-интерфейс переднего конца, а мой андроид и клиенты IOS будут использовать REST API вызовов. Бэкенд в настоящее время проверки информации имя пользователя и пароль, полученные и реагирует с правильными сообщениями о состоянии (401, 200). Могу ли я использовать пружинный загрузочный сеанс, чтобы иметь логин пользователя в начале сессии, а затем использовать значение сеанса для каждого последующего вызова REST API для этой сессии? Реализовать этот вопрос похож на [Спринг загрузки отдых безопасность с Android и IOS, но этот вопрос, похоже, не охватывает кэширования и с использованием значения сеанса принятым для все дополнительного Rest API призывает к сессии. Должен ли я передать значение сеанса в качестве параметра в Rest ставить и команды API размещать? Цель должна иметь приложение проверить пользователь зарегистрирован и проверить свои учетные данные, прежде чем принимать дополнительные команды остальное пут и пост. Я прочитал документацию spring.io, но не нашел эту тему охвачены. Несколько новичок пружинных ботинок.
geezer57
1

голосов
1

ответ
42

Просмотры

Попытка написать функцию, которая использует переменную сеанса

Я пытаюсь написать функцию, которая принимает имя текущего пользователя (или как переменный сеанс или GET или POST параметр) и отображает приватное содержанию (идентификатор и FilePath), что этот пользователь может просматривать, потому что он совместно с группой, к которой пользователь принадлежит. Вот то, что я до сих пор, но я, кажется, немного застрял в получении его запустить. Любая помощь очень ценится!
sql_injector
1

голосов
0

ответ
29

Просмотры

Совместное заседание на Firefox

Я использую этот код на Firefox 57 Web Extension, чтобы создать новую вкладку в Firefox 57, пусть зеркальным = browser.windows.create ({URL: profiler.url + "? Профилировщика =" + я, состояние: "полноэкранный режим"}) ; mirror.then ((док) => {пусть updateInfo = {левый: х, ширина: screen.width, высота: screen.height}; browser.windows.update (docking.id, updateInfo);}); Этот аддонов будет интегрирован с MicroStartegy Application, но каждый раз, когда я с помощью кода выше. Сеанс пользователя будет делиться. Я означает, что если одна вкладка выхода из вкладка другие будут также выйти. Как избежать этого дела? Казалось сессию на MicroStrategy Application смотрит на браузер ID. Вместо этого, его работы хорошо на Chrome, потому что для каждой вкладки в Chrome, Chrome откроется новое приложение. Я проверил на диспетчере задач. Поэтому я считаю, что лучшим решением будет, как открыть в Incognito mode.How ли я сделать, чтобы открыть приведенный выше код на режиме инкогнито? Или лучше идея вместо использования режима инкогнито? Любая идея была бы оценена.
Yohanes AI
1

голосов
0

ответ
171

Просмотры

Session is NULL Memcached - Codeigniter + Ratchet

I have just installed Memcached and used some tutorials to set up the server. This is my code for the server: use Ratchet\Session\SessionProvider; use Symfony\Component\HttpFoundation\Session\Storage\Handler; require dirname(__DIR__) . '/vendor/autoload.php'; $loop = React\EventLoop\Factory::create(); $pusher = new MyApp\Pusher; $memcached = new Memcached; $memcached->addServer('0.0.0.0', 11211); // Listen for the web server to make a ZeroMQ push after an ajax request $context = new React\ZMQ\Context($loop); $pull = $context->getSocket(ZMQ::SOCKET_PULL); $pull->bind('tcp://127.0.0.1:5555'); // Binding to 127.0.0.1 means the only client that can connect is itself $pull->on('message', array($pusher, 'onBlogEntry')); // Set up our WebSocket server for clients wanting real-time updates $webSock = new React\Socket\Server('0.0.0.0:8080', $loop); // Binding to 0.0.0.0 means remotes can connect $webServer = new Ratchet\Server\IoServer( new Ratchet\Http\HttpServer( new Ratchet\Session\SessionProvider( new Ratchet\WebSocket\WsServer( new Ratchet\Wamp\WampServer( $pusher ) ),new Handler\MemcachedSessionHandler($memcached) ) ), $webSock ); $loop->run(); And onOpen function: public function onOpen(ConnectionInterface $conn) { $this->clients->attach($conn); $this->users[$conn->resourceId] = $conn; var_dump($conn->Session->all()); echo "New connection! ({$conn->resourceId})\n"; } Var dump output: array(0) { } My problem is I can not get data send to memcached in Ratchet onOpen function. I need this to send message to a particular user. I want to add database user ID to connection. I have changed the code many times because I found more tutorials trying to fix the error but now I have no idea what to do next. Memcached seems to work well, I can get data from memcached when I login in ssh. I want to say now I am working on Codeigniter, it would be a better decision to move all code on Symfony? Any advice will help! Thanks!
Jianov
1

голосов
2

ответ
34

Просмотры

php session destroy issue in specific server

I am creating 3 sessions and destroying with proper functions. However it throws weird issue to me where in Internet explorer, it doesn't destroy session, in firefox and chrome, I have to refresh the page twice. Here is the simple code I am using to check: login.php (This is to create sessions) if(isset($_POST['create_session'])){ $_SESSION['user_id'] = '1'; $_SESSION['first_name'] = 'first name'; $_SESSION['last_name'] = 'last name'; echo "Session Created Successfully! Click here"; } ?> index.php (This is to check whether session has been created properly or not)
Dhaval
1

голосов
2

ответ
455

Просмотры

What is the proper way to update attribute value in started Spring WebSession?

I have SpringBoot 2.0.0.M7 project where I am using WebSession with Redis (org.springframework.session:spring-session-data-redis:2.0.0.RELEASE). I have a WebFlux route which supposed to do redirect to eBay with the eBay session id. Every time user is visiting that route I need to request different session id from eBay API and include it into the redirect URL. Later, eBay will redirect user back to my application where I need that session id to request token. During testing I saw that that value of the session attribute (in my case it's ebay_session_id) can't be replaced with the new value when browser still have a cookie with the existing session ID. In the route where I am requesting again ebay_session_id I am getting old value and not the new one. The code which store SessionID is following: return ebayApiReactiveWrapper .getSessionId(apiContext) .flatMap(sessionId -> request .session() .map(webSession -> { webSession .getAttributes() .put("ebay_session_id", sessionId); return sessionId; }) ) .flatMap(sessionId -> { final UriBuilder uriBuilder = uriBuilderFactory.uriString( ebayApiSettings.getSignInUrl() ); uriBuilder.queryParam("runame", ebaySettings.getRuName()); uriBuilder.queryParam("SessID", sessionId); return ServerResponse.temporaryRedirect(redirectUri).build(); }); I tried to add webSession.save() after put method but it doesn't help. What I am doing wrong? Thank you in advance! UPDATE Some new details about what is happening with the session data in Redis. When session is created (empty Redis) the data looks like that: 127.0.0.1:6379> hkeys "spring:session:sessions:cbbf8000-6ce8-4238-a427-9aab37d2702b" 1) "lastAccessedTime" 2) "maxInactiveInterval" 3) "creationTime" 4) "sessionAttr:ebay_session_id" When I visit same route second time (session cookie still exists and the session data is still in Redis) the data is changing: 127.0.0.1:6379> hkeys "spring:session:sessions:cbbf8000-6ce8-4238-a427-9aab37d2702b" 1) "sessionAttr:ebay_session_id" Through, sessionAttr:ebay_session_id still contains value from the first request. The worst thing is that such structure cause NullPointerException when another route is trying to get session data. Looks like it expecting other 3 fields to be presented and fails when it's not the case.
Serghei
1

голосов
0

ответ
214

Просмотры

Получить тайм-аут сеанса с сервера ColdFusion в AngularJS

У меня есть приложение, реализованное в Coldfusion и AngularJS. У меня есть внешняя система проверки подлинности, используемая для обеспечения безопасности наших приложений. Это называется в файле Application.cfc приложения. Когда пользователь пытается получить доступ к приложению, система аутентификации называется и, если аутентификация является правильной, пользователь может получить доступ к приложению. Я положил в сессии некоторые данные о users'roles. Эта система безопасности определяются с другой URL. Во взглядах у меня есть некоторые формы с выпадающим списком заселения благодаря запросам AJAX. Как нет обновления страницы (Single приложения страницы). Если сеанс сервера отсутствует, то запросы не выполнены правильно: я получить статус 302 сервера, поскольку аутентификация пытается быть запущен, и я могу видеть в colnsole: Не удалось загрузить https: // myAuthenticationSystem: Ответ на предполетный запрос не проходит проверку контроля доступа: Нет «Access-Control-Разрешить-Origin» заголовок присутствует на запрошенный ресурсе. Происхождение «HTTP: // MyApplication», следовательно, не имеет права доступа. Я стараюсь, чтобы получить статус в моем угловом сценарии JS, и я получить статус 0 и данные равен нулем. Это нормально ?? Я хотел бы высветил перезагрузку aaplication если сеанс сервера отсутствует, для предотвращения такого рода проблем (в идеале с всплывающим сообщением в AngularJS «Сессия истекла. Вы собираетесь перенаправлены аутентификациями ...»). Как я могу это сделать? Вот мой код: Application.cfc // вызывает AUTHENTICATION СИСТЕМЫ .......................... // Проверка доступа пользователей .... ....................... // PUT ДАННЫХ СЕССИИ index.cfm .................. .......... // преобразуем ColdFusion переменные в JS VARIABLES для скошенных JS вар #toScript (SESSION.userLogin, "UserLogin") #; вар #toScript (SESSION.tocken, "tocken") #; вар #toScript (SESSION.userRoles, "UserRoles") #; ............................ app.js уаг приложение = angular.module ( 'ContactsApp', [ 'ngRoute', «щ. самозагрузки», 'ngDialog', 'углового поповер']); // зарегистрировать перехватчик как сервис app.factory ( 'HttpInterceptor', [ '$ д', '$ rootScope', функция ($ д, $ rootScope) {возвращение {// По запросу запроса успеха: функция (конфигурация) {// Возвращает конфигурацию или завернуть его в обещании, если пустые. вернуться конфигурации || $ Q.when (конфигурация); } // При неудаче запроса RequestError: функции (отказ) {//console.log(rejection); // Содержит данные об ошибке на запрос. // Возвращает отказ обещания. возвращение $ q.reject (отказ); } // В ответ успеха ответ: функции (ответ) {//console.log(response); // Содержит данные из ответа. // Возвратить ответ или обещание. вернуться ответ || $ Q.when (ответ); }, // В случае неудачи ответа responseError: функции (отказ) {//console.log(rejection); // Содержит данные об ошибке. // Проверить, является ли перехватывать пары установить в массиве конфигурации. // Если перехватывать пары отсутствуют или установлены верно, мы выводим модальное, содержащее ошибку, если (TypeOf rejection.config.intercept === «не определен» || rejection.config.intercept) {// излучающее событие, чтобы привлечь . модальный с помощью углового начальной загрузки $ rootScope $ испускает ( '' errorModal, rejection.data); } // Возвращает отвержение обещания. возвращение $ q.reject (отказ); }}; }]); app.config (функция ($ routeProvider, $ httpProvider, ngDialogProvider) {$ httpProvider.defaults.cache = ложь; если (! $ httpProvider.defaults.headers.get) {$ httpProvider.defaults.headers.get = {}; } // отключить IE кэширование запроса Ajax $ httpProvider.defaults.headers.get [ 'If-Modified-Since'] = '0'; // Добавить перехватчик в $ httpProvider для перехвата HTTP уравнивает $ httpProvider.interceptors.push ( 'HttpInterceptor'); $ RouteProvider.when ( '/ все-контакты', {templateUrl: 'шаблон / allContacts.html', контроллер: 'ctrlContacts',}) .when ( '/ вид-контакты /: ContactID', {templateUrl: «шаблон / viewContact.html», контроллер: 'ctrlViewContacts'}) .otherwise ({RedirectTo: '/ все-контакты'}); }); ) App.controller (» ctrlContacts', функция ($ резервированные $ тайм-аут, MyTextSearch, ContactService) {// доступ к переменным JS $ scope.userRoles = UserRoles; $ Scope.userLogin = Userlogin; ............}); app.controller ( 'ctrlViewContacts', функция ($ резервированные $ routeParams, MyTextSearch, ContactService, RequestService, ReportService) {// доступ к переменным JS $ scope.userRoles = UserRoles; $ scope.userLogin = UserLogin; // EXECUTE AJAX QUERY ContactService.loadCategory ( 'не определен', 0) .success (функция (категория, статус, заголовок, конфигурация) {$ scope.categories = категория; console.log ( "статус:" + статус);}) .error (функция (данные, статус, заголовок, конфигурации) {console.log ( "sessionExpired:" + sessionExpired); console.log ( "ERROR "); console.log (" + Заголовок); console.log ( "конфигурация:" + конфигурация); если (состояние == 302) {Alert ( "Время сеанса истекло - New Authentication просил"); window.location.replace (заголовки ( 'http://intragate.test.ec.europa.eu/remed')); } Если (состояние == 0) {Alert ( "ERROR 0 - Сессия просрочена - New Authentication просил"); // $ window.location.reload (); }}), Наконец (функция () {console.log ( "наконец закончил РЕПО");.}); }); ......................... Заранее спасибо за помощь. Sebastien + Заголовок); console.log ( "конфигурация:" + конфигурация); если (состояние == 302) {Alert ( "Время сеанса истекло - New Authentication просил"); window.location.replace (заголовки ( 'http://intragate.test.ec.europa.eu/remed')); } Если (состояние == 0) {Alert ( "ERROR 0 - Сессия просрочена - New Authentication просил"); // $ window.location.reload (); }}), Наконец (функция () {console.log ( "наконец закончил РЕПО");.}); }); ......................... Заранее спасибо за помощь. Sebastien заменяющие (заголовки ( 'http://intragate.test.ec.europa.eu/remed')); } Если (состояние == 0) {Alert ( "ERROR 0 - Сессия просрочена - New Authentication просил"); // $ window.location.reload (); }}), Наконец (функция () {console.log ( "наконец закончил РЕПО");.}); }); ......................... Заранее спасибо за помощь. Sebastien заменяющие (заголовки ( 'http://intragate.test.ec.europa.eu/remed')); } Если (состояние == 0) {Alert ( "ERROR 0 - Сессия просрочена - New Authentication просил"); // $ window.location.reload (); }}), Наконец (функция () {console.log ( "наконец закончил РЕПО");.}); }); ......................... Заранее спасибо за помощь. Sebastien
coeurdange57
1

голосов
0

ответ
15

Просмотры

Создание сеанса от имени кнопки, которая составляет $ строки?

То, что я пытаюсь сделать, я даже не знаю, если это возможно. Я загружая таблицу базы данных, которая будет иметь кнопку рядом с каждой строкой. Эта кнопка имеет идентификатор и имя, которое равно идентификатору моей строки. эхо "$ row-> идентификатор"; Теперь я хочу, сессия должна быть создана с этим номером идентификатора, так что я понял, я бы ввод этого кода, если (Исеть ($ _ POST [ «'. $ Row-> идентификатор.»])) {$ _SESSION [ „reportidtest“ ] = $ _POST [ "$ row-> идентификатор."]; Заголовок (местоположение: records.php); } Таким образом, я мог бы создать сеанс, перейдите record.php, а затем на нагрузке будет текстовые поля echo'd со значениями остальных моих столбцов в конкретной строке. Что я делаю неправильно? Есть гораздо более простой способ сделать это? Это было бы идеально только для этого не загружать значения на records.php, он имеет только пустые текстовые поля: https:
Picmount Media
1

голосов
1

ответ
869

Просмотры

Jboss EAP 7 JSESSIONID экземпляр-идентификатор не добавляется

Кажется, что экземпляр-идентификатор в JSessionID добавляются при использовании автономного-ha.xml, а не с standalone.xml, по крайней мере, в моем случае: # Standalone (экземпляр-идентификатор не прилагается) [сумасшедший @ макс бен] $ ./standalone. ш -Djboss.instance.id = node1 -Djboss.node.name = node1 [сумасшедший @ макс бен] $ локон -I http://127.0.0.1:8080/cluster-test/ HTTP / 1.1 200 OK Подключение: keep- живой X-Powered-By: Undertow / 1-Х-Powered By: JSP / 2.3 Set-Cookie: JSESSIONID = vEE6VucqPJBCbewsJceWKRjVAYvT1oxWy0ItAWwu; путь = / кластер-тест сервера: JBoss-EAP / 7 Content-Type: Текст / html; кодировка = ISO-8859-1 Content-Length: 100 Дата: Пн, 29 января 2018 18:06:22 GMT # Standalone-HA (пример-идентификатор прилагается) [сумасшедший @ макс бен] $ ./standalone.sh -c автономный-ha.xml -Djboss.instance.id = node1 -Djboss.node.name = node1 [сумасшедший @ макс бен] $ завиток - Я http://127.0.0.1:8080/cluster-test/ HTTP / 1.1 200 OK Подключение: поддержания активности X-Powered-By: Undertow / 1-Х-Powered By: JSP / 2.3 Set-Cookie: JSESSIONID = 5y1NCo9CM963aO5-OurRJAx2LMFl8wIi0AV3PJzm.node1; путь = / кластер-тест сервера: JBoss-EAP / 7 Content-Type: Текст / html; кодировка = ISO-8859-1 Content-Length: 100 Дата: Пн, 29 января 2018 18:03:38 GMT Как мы можем видеть, в автономном режиме нет .node1 добавляется в JSessionID. Undertow конфигурации в обоих случаях: Это не имеет смысла для меня. Иногда все, что у вас есть веб-сервер balacing нагрузки Apache / Nginx между двумя или несколькими узлами, без необходимости конфигурации HA. Это создает огромную проблему с липкими сессий, любое предложение? В режиме домена это происходит то же самое: если вы создаете серверную группу из профиля по умолчанию, нет экземпляра идентификатора не добавляется в JSessionID.
Max Nicholson
1

голосов
1

ответ
214

Просмотры

есть способ получить печенье уникальный идентификатор?

Я пытаюсь создать корзину, где пользователь сможет добавить в корзину без необходимости для входа. У меня есть 3 способа сделать это: Session - это работает, но проблема в том, что в ближайшее время, как они закрывают сайт ... то сессия будет получить уничтожить Cookie - Это устраняет проблему сеанса, но печенье имеет небольшой предельный размер и пользователь может блокировать его также DataBase - Я могу хранить тележку в базе данных в течение 3 дней и руководства удалить запись в базе данных мне нравится решение базы данных, но есть проблема. как я могу получить unquite идентификатор пользователя, который не вошел в систему? Я мог бы использовать сессию, чтобы получить unquie идентификатор, но чем если пользователь близко .. сайт повторно открыт веб-сайт, чем его идентификатор сессии изменится также.
ikhlas ahmed
1

голосов
1

ответ
133

Просмотры

Laravel хранит слишком много сессий для 20 пользователей

Я сеансовый в базу данных, и я заметил, Laravel магазин много сеансов у меня только 20 пользователей я сделал полный поиск проекта, чтобы найти, где я храню сессию, и я нахожу одно место, когда пользователь получает доступ приложения это удалить старые сессии и обновлять их. / * Магазин маркер в сессии * / $ лексема = $ этом-> jesonToArray ($) отклика [ 'access_token']; если {Session () -> вровень () (is_null ($ лексема)!); Session :: ставить ( 'маркер', $ лексема); Сессия :: ставить ( 'магазин', $ this-> apiKeys [ 'SHOP_NAME']); (! Is_null (Session :: получить ( 'маркер')))} еще {если вернуться Session :: получить ( 'маркер'); } В 2-х месяцев Laravel хранятся более 10 тысяч сеансов время жизни сессии составляет 18 дней «время жизни» => 26200 это нормально ??
ahmad
1

голосов
0

ответ
184

Просмотры

Retrive randomly generated session id coockie name asp.net

Я хочу изменить asp.net ASP.NET_SessionId имя куков с некоторой случайной строкой, а также хэшем этого значения. Я сделал так, но проблема в том, что я не знаю, как получить `ASP.NET_SessionId и проверить, если хэшируются значение допустимо или нет. Цель состоит в том, чтобы предотвратить угон сессий. app.UseCookieAuthentication (новые CookieAuthenticationOptions {AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = новый PathString ( "/ Account / Логин"), Provider = новый CookieAuthenticationProvider {OnValidateIdentity = SecurityStampValidator.OnValidateIdentity (validateInterval: TimeSpan.FromMinutes (15), regenerateIdentity: (менеджер , пользователь) => пользователь. GenerateUserIdentityAsync (менеджер))}, CookieName = Utility.Globals.GenrateRandomString (10),}); Это, как я изменить `ASP.NET_SessionId». Я также проверить хэш значения с ниже защищен кодом ничтожной Application_BeginRequest (объект отправителя, EventArgs е) {// Проверяем Если новая сессия или нет, если нет, то делать дополнительные проверки, если (Request.Cookies [ «ASP.NET_SessionId»] ! = NULL && Request.Cookies [ "ASP.NET_SessionId"] Value = NULL) {строка newSessionID = Request.Cookies [ "ASP.NET_SessionId"] значение.!. // Проверьте допустимую длину вашего сгенерированного ID сессии, если (newSessionID.Length Я также проверить хэш значения с ниже защищен кодом ничтожной Application_BeginRequest (объект отправителя, EventArgs е) {// Проверяем Если новая сессия или нет, если нет, то делать дополнительные проверки, если (Request.Cookies [ «ASP.NET_SessionId»] ! = NULL && Request.Cookies [ "ASP.NET_SessionId"] Value = NULL) {строка newSessionID = Request.Cookies [ "ASP.NET_SessionId"] значение.!. // Проверьте допустимую длину вашего сгенерированного ID сессии, если (newSessionID.Length Я также проверить хэш значения с ниже защищен кодом ничтожной Application_BeginRequest (объект отправителя, EventArgs е) {// Проверяем Если новая сессия или нет, если нет, то делать дополнительные проверки, если (Request.Cookies [ «ASP.NET_SessionId»] ! = NULL && Request.Cookies [ "ASP.NET_SessionId"] Value = NULL) {строка newSessionID = Request.Cookies [ "ASP.NET_SessionId"] значение.!. // Проверьте допустимую длину вашего сгенерированного ID сессии, если (newSessionID.Length ! Значение = NULL) {строка newSessionID = Request.Cookies [ "ASP.NET_SessionId"] значение. // Проверьте допустимую длину вашего сгенерированного ID сессии, если (newSessionID.Length ! Значение = NULL) {строка newSessionID = Request.Cookies [ "ASP.NET_SessionId"] значение. // Проверьте допустимую длину вашего сгенерированного ID сессии, если (newSessionID.Length
Hadi Mohammadi
1

голосов
0

ответ
46

Просмотры

Потеря сессии при refresing

У меня возникли проблемы с Socket.io. У меня есть сервер Node.js, который использует код из read.me сокет работает нормально, когда я Initally создать его, но когда я обновить страницу, сокет на стороне клиента заблудиться. Вот код на моем сервере: «использовать строгий»; Const = приложение требует ( 'экспресс') (); . Const HTTP = требуется ( 'HTTP') Сервер (приложение); Const Io = требуется ( 'Socket.io') (HTTP); Const bodyParser = требуется ( 'тело-анализатор'); константное messageRoutes = требуется (»./ маршруты / сообщений); Const дБ = требуется (»./ модели); Const сессия = требуется ( "экспресс-сессии") ({секрет: "мой-секрет", пересохраните: правда, saveUninitialized: истинный}); Const = sharedsession требуется ( "экспресс-Socket.io-сессии"); app.use (сессия); app.use (bodyParser.json ()); app.use (bodyParser. urlencoded ({расширен: истинно})); io.use (sharedsession (сессия, {Автосохранение: истинно})); io.on ( 'соединение', сокет => {socket.on ( "войти в систему", функция (пользовательские данные) {socket.handshake.session.userdata = UserData; socket.handshake.session.save (); Const {имя пользователя} = UserData; Const loggedInMessage = {сообщение: `$ {имя пользователя} подключился в`} console.log (loggedInMessage.message); socket.broadcast.emit ( 'чат-сообщение', loggedInMessage);}); socket.on (" выход из системы », функция (пользовательские данные) {если (socket.handshake.session.userdata) {console.log (` $ {socket.handshake.session.userdata.username} имеет disconnected`); удаление socket.handshake.session.userdata; гнездо .handshake.session.save ();}});}); // Настройка маршрутов app.use ( "/ API / сообщения", messageRoutes); http.listen (3001, () => {console.log ( 'Прослушивание на порту 3001');}); Как вы можете видеть, я импортировать экспресс-сессию, а затем экспресс-Socket.io-сессии. Затем я придаю sharedsession промежуточное программное обеспечение на Ио, например. Сразу после этого я определяю мои слушатель для входа и выхода событий. Когда новый пользователь войти, я сохраню его UserData внутри моего объекта сеанса и сохраняет его. Проблема заключается в том, когда я обновите страницу, сокет теряться, и я не могу получить доступ к объекту сеанса на стороне клиента. Как я могу решить эту проблему? Затем я придаю sharedsession промежуточное программное обеспечение на Ио, например. Сразу после этого я определяю мои слушатель для входа и выхода событий. Когда новый пользователь войти, я сохраню его UserData внутри моего объекта сеанса и сохраняет его. Проблема заключается в том, когда я обновите страницу, сокет теряться, и я не могу получить доступ к объекту сеанса на стороне клиента. Как я могу решить эту проблему? Затем я придаю sharedsession промежуточное программное обеспечение на Ио, например. Сразу после этого я определяю мои слушатель для входа и выхода событий. Когда новый пользователь войти, я сохраню его UserData внутри моего объекта сеанса и сохраняет его. Проблема заключается в том, когда я обновите страницу, сокет теряться, и я не могу получить доступ к объекту сеанса на стороне клиента. Как я могу решить эту проблему?
David Lasry
1

голосов
1

ответ
271

Просмотры

Spring boot - setters on session scoped component not working from singleton service - fields are null

I have a simple service behind a REST controller in Spring Boot. The service is a singleton (by default) and I am autowiring a session-scoped bean component used for storing session preferences information and attempting to populate its values from the service. I call setters on the autowired component, but the fields I am setting stay null and aren't changed. Have tried with and without Lombok on the bean; also with and without implementing Serializable on FooPref; also copying properties from FooPrefs to another DTO and returning it; also injecting via @Autowired as well as constructor injection with @Inject. The fields stay null in all of those cases. Running Spring Boot (spring-boot-starter-parent) 1.5.6.RELEASE, Java 8, with the spring-boot-starter-web. Session-scoped component: @Component @SessionScope(proxyMode = ScopedProxyMode.TARGET_CLASS) @Data @NoArgsConstructor public class FooPrefs implements Serializable { private String errorMessage; private String email; private String firstName; private String lastName; } REST Controller: @RestController @RequestMapping("/api/foo") public class FooController { @Autowired private FooPrefs fooPrefs; private final FooService fooService; @Inject public FooController(FooService fooService) { this.fooService = fooService; } @PostMapping(value = "/prefs", consumes = "application/json", produces = "application/json") public FooPrefs updatePrefs(@RequestBody Person person) { fooService.updatePrefs(person); // These checks are evaluating to true if (fooPrefs.getEmail() == null) { LOGGER.error("Email is null!!"); } if (fooPrefs.getFirstName() == null) { LOGGER.error("First Name is null!!"); } if (fooPrefs.getFirstName() == null) { LOGGER.error("First Name is null!!"); } return fooPrefs; } } Service: @Service @Scope(value = "singleton") @Transactional(readOnly = true) public class FooService { @Autowired private FooPrefs fooPrefs; @Inject public FooService(FooRepository fooRepository) { this.fooRepository = fooRepository; } public void updatePrefs(Person person) { fooRepository.updatePerson(person); //the fields below appear to getting set correctly while debugging in the scope of this method call but after method return, all values on fooPrefs are null fooPrefs.setEmail(person.getEmail()); fooPrefs.setFirstName(person.getFirstName()); fooPrefs.setLastName(person.getLastName()); } }
samoussa.usa
1

голосов
2

ответ
527

Просмотры

Выход из Wordpress защищенных паролем страниц при закрытии браузера

Я хочу печенье для защищенных паролем страниц в Wordpress истекает, когда закроется окно браузера. Я попробовал следующее в моем файле functions.php, не повезло: функции custom_password_cookie_expiry ($ истекает) {возвращения 0; // Сделать это куки сессии} add_filter ( 'post_password_expires', 'custom_password_cookie_expiry'); Любая помощь будет принята с благодарностью
Petey88
1

голосов
1

ответ
551

Просмотры

How to return a value within a promise in angular 2

Я хочу, чтобы проверить sessionStorage (sessionStorage [ «нового»]) для значения, и если он существует, я хочу, чтобы вернуть его и игнорировать остальные функции, но я получаю сообщение об ошибке, то не определена. Я не уверен, что я делаю неправильно. общественного getDispositionTree (MemberType: строка, рынок: строка, includeFiltered: Boolean = ложь, forcedUUIDS: строка [] = [], includeArchived: Boolean = ложь): Promise {пусть treeLoadedPromise; если (this.savedDispositionTrees.has (рынок)) {treeLoadedPromise = Promise.resolve (); } Еще {// ** ЭТА ЛИНИЯ НИЖЕ МОЯ CHANGE ** treeLoadedPromise = sessionStorage [ 'новый'] // treeLoadedPromise = this.loadDispositionTree (рынок); } Вернуть treeLoadedPromise. то (() => {если (includeFiltered) {если (includeArchived) {вернуться this.savedDispositionTrees.get (рынок);} еще {вернуть this.getExcludeArchivedDispositionTree (this.savedDispositionTrees.get (рынка));}} это вернуть. getRelevantDispositionTree (рынок, MemberType, forcedUUIDS);}); } Это ошибка: core.es5.js 0445: 1085 ERROR Ошибка: Uncaught (обещанию): TypeError: treeLoadedPromise.then не является функцией TypeError: treeLoadedPromise.then не является функцией }} Вернуть this.getRelevantDispositionTree (рынок, MemberType, forcedUUIDS); }); } Это ошибка: core.es5.js 0445: 1085 ERROR Ошибка: Uncaught (обещанию): TypeError: treeLoadedPromise.then не является функцией TypeError: treeLoadedPromise.then не является функцией }} Вернуть this.getRelevantDispositionTree (рынок, MemberType, forcedUUIDS); }); } Это ошибка: core.es5.js 0445: 1085 ERROR Ошибка: Uncaught (обещанию): TypeError: treeLoadedPromise.then не является функцией TypeError: treeLoadedPromise.then не является функцией
PSTACKSKIE
1

голосов
1

ответ
133

Просмотры

Как выполнить код на тайм-аут сеанса?

Я хотел бы прояснить некоторые временные данные, когда сеанс пользователя истекает на моем сайте. В то время как большая часть данных хранится в самой сессии объекта, есть некоторые внешние замки и оговорки, которые я хотел бы выпустить вместе сессии. Где нужно поместить код, чтобы сделать это?
Extragorey
1

голосов
1

ответ
560

Просмотры

5,6 сессия Laravel не Устойчивые после обновления с 5.5

Я обновил Laravel Framework для моего приложения от 5,5 до 5,6 и с тех пор я не могу получить сеанс упорного. Проблема заключается в том, я всегда получаю ошибку «Страница истекло», когда делает запрос на запись (например, / входа в систему), так что это что-то о CRFS- Токеном, так как я отправить его правильно с просьбой я проверил мой DB, где я сохранить сессии, Я узнал, что каждый попробовать новый сеанс генерируется. Я попытался установить конфиг / session.php к оригиналу, удалите кэш браузера / куки, я проверил мое ядро ​​и Middleware, если что-то изменилось за 5.6, я очистил вид, кэш-память и маршруты, и многое другое, но без успеха. Любая идея, что я не вижу?
Jakob Graf
1

голосов
0

ответ
40

Просмотры

пользовательские данные ПЕРСИСТЕНТНОСТЬ без учета

то, что я ищу это решение, как на codepen - где я могу создать новую ручку и до тех пор, пока я не чищу браузеры печенья - у меня есть возможность сохранить его. но если бы я поделиться им с другом, отправив URL - он есть только вариант вилки. Так что не нужно Registeration на всех, но только вид решения куки / сессии? Или просто отправить этот идентификатор REQ тело? Также пользователь может «собственные» несколько ручек - так на внутреннем интерфейсе в моей БД я должен иметь таблицу с печеньем-ID: [Идентификаторы-оф-ручки]? Мое приложение использует nodejs + expressjs + Postgress (knexjs) и я довольно потерял с решениями для пользователя Registeration. Лучший
JJ23
1

голосов
0

ответ
554

Просмотры

Как уменьшить размер печенья в ASP.NET Ядра (что-то подобное, используя эталонную режим)?

Я реализую веб-приложение ASP.N Co, который использует куки и аутентификацию WS-Federation (он использует куки, если она есть и работает, в противном случае он запрашивает провайдер идентификации для маркеров SAML, если пользователь подписан в). Я это установить штраф в проекте Web API в .NET. Для проверки подлинности печенья, я использую System.IdentityModel.Services.SessionAuthenticationModule помочь. Более конкретно, оно имеет IsReferenceMode свойство, которое я поставил истинно, таким образом, позволяя куки будут храниться в кэше на стороне сервера в течение всей сессии. Это позволяет просто ссылка на кук, передаваемой между клиентом и сервером, который помогает уменьшить размер печенья. Очевидно, что это не поддерживается напрямую в ASP.NET сердечнике, так как System.IdentityModel несовместима. Я интересно, если есть что-то подобное я могу сделать. Я' видел подобные вопросы, заданные здесь и здесь, но ни на самом деле не поможет мне. Edit: Эта статья о состоянии сеанса из документации Microsoft и этот блог статьи Ян Гаек, кажется, что они могли бы дать ответ для меня.
Drew
1

голосов
2

ответ
41

Просмотры

Узел экспресс-сеанс не возвращаются MyVar (или не использует тот же SESSIONID)

При попытке из экспресс-сессии, я не мог ничего из моих предыдущих записей получить, когда я хранить переменную сеанса. Мало того, что мой идентификатор сеанса изменилось. Почему это? Вот мой server.js: Const = выразить требует ( 'экспресс') Const сессии = требуется ( 'экспресс-сеанс') константный bodyParser = требуется ( 'тело-анализатор') Const приложение = экспресс () app.use (экспресс. статическая (__ имя_директории + "/ ЦСИ")) app.use (bodyParser.json ()) app.use (сессия ({секрет: 'тестер', saveUninitialized: правда, пересохраните: ложные, печенье: {MaxAge: 5 * 60000} })) app.get ( "/", (запрос, ответ) => {response.sendFile (__ имя_директории + "/front_end.html") //response.end('This является испытанием для материала ')}) приложение .POST ( "/ ресурсы", (запрос, ответ) => {request.session.myvar = "Hello Person" console.log (request.session.myvar); console.log (request.sessionID) response.json ({сообщение: "Успех", URL: "/ ответить"})}) app.get ( "/ ответить", (запрос, ответ) => {console.log ( request.session.myvar) console.log (request.sessionID) response.send ( 'вещи')}) app.listen (3000, (ERR) => {если (ERR) {console.log ( 'Сервер вниз' ), возвращение ложным;} console.log ( 'Сервер вверх');}) Вот передний конец HTML: тест А это мой передний конец JS: document.getElementById ( "тест") addEventListener ( "щелчок",. () => {выборки ( '/ ресурсы', {метод: "POST", заголовки: { "Content-Type": "приложения / JSON"}, тело: JSON.stringify ({ «имя»: «Тест», «пропуск»:. «Тестер» // игнорировать тот факт, что это на самом деле ничего не делает еще}).}), То ((ответ) => {обратный ответ .json ()}), то ((JSON) => {window.location.assign (json.url)}). }); Вот результат из командной строки (конец сервера): Сервер вверх Здравствуйте Person DQH0s5Mqu9FasN5It49xD1ZAtkCbj0P5 неопределенного p5_imn5FXxxO-i2lR62TNGXEd-o2WHGP
Glenn Parale
1

голосов
1

ответ
27

Просмотры

PHP get_file_contents post session page navigation

Я получил домашнее задание, чтобы восстановить страницу 2-й результаты из http://wiki.webo-facto.com из поиска почтовых данных. Как это: $ PostData = http_build_query (массив ( 'д' => 'Каталог', 'отправить' => 'searchbutton')); $ Выбирает = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Контекст = stream_context_create ($ КЛЮЧ); $ Result = file_get_contents ( 'http://wiki.webo-facto.com/', ложь, $ контекст); Нет проблем. Мой сенсей сказал, что: «После того, как поиск будет сделан, критерии поиска хранятся в сессии Именно эта сессия, которая делает навигацию работу.». Затем из того же сценария я добавить $ _SESSION [ 'Post'] = $ PostData; Заголовок ( 'Location: getsecondpage.php') Все это хранится в poster.php. Теперь время, чтобы retrive второй страницы в getsecondpage.php: session_start (); $ PostData = $ _SESSION [ 'PostData']; $ Opts2 = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. getsecondpage.php ') Все это хранится в poster.php. Теперь время, чтобы retrive второй страницы в getsecondpage.php: session_start (); $ PostData = $ _SESSION [ 'PostData']; $ Opts2 = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. getsecondpage.php ') Все это хранится в poster.php. Теперь время, чтобы retrive второй страницы в getsecondpage.php: session_start (); $ PostData = $ _SESSION [ 'PostData']; $ Opts2 = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. PHP. Теперь время, чтобы retrive второй страницы в getsecondpage.php: session_start (); $ PostData = $ _SESSION [ 'PostData']; $ Opts2 = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. PHP. Теперь время, чтобы retrive второй страницы в getsecondpage.php: session_start (); $ PostData = $ _SESSION [ 'PostData']; $ Opts2 = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. PostData ']; $ Opts2 = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. PostData ']; $ Opts2 = массив ( 'HTTP' => массив ( 'метод' => 'POST', 'заголовок' => 'Content-Type: применение / х-WWW-форм-urlencoded', 'содержание' => $ PostData) ); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. содержание»=> $ PostData)); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской. содержание»=> $ PostData)); $ Context2 = stream_context_create ($ opts2); $ Result2 = file_get_contents ( 'http://wiki.webo-facto.com/resultspage-2.html', ложь, $ context2); Эхо $ result2; возвращать результаты 1-й страницы, которые не то, что я хочу. Ваше предложение будет очень полезным. Обратите внимание: что я также начать сессию poster.php (код не виден).. Извините за мой плохой английский, Im франко- саксонской.
kizawa tomaru
1

голосов
2

ответ
57

Просмотры

Codeigniter 3.1.7 теряет сеанс, когда это вызывается через метод

У меня есть метод, который восстановить сеанс, созданный ранее в методе. Этот метод вызывается из AJAX и что-то вроде: общественные функции Проверить () {print_r ($ this-> session-> UserData); } Сессия была создана до от одного метода в том же контроллере, который: публичную функцию маркера ($ маркер) {$ Params = Array ( 'tokenvalido' => истинный, 'token_de_cambio' => $ маркер, 'user_mail' => $ TokenValido-> user_mail); $ This-> session-> set_userdata ($ PARAMS); } Когда я сделать var_dump ($ this-> session-> UserData) в методе маркеров, я получаю такой ответ: Array ([__ci_last_regenerate] => 1522819707 [tokenvalido] => 1 [token_de_cambio] => 5ac44d3e7dc5cd0d11e2edbdb34ae13f05d60c3b64978 [user_mail ] => babasonicofernando @ gmail.com. ком) Но когда я назвал метод Проверить () (который существует в том же контроллере, где я создать сеанс) это отображение пустого массива. Что я делаю неправильно?
Fernando Urban
1

голосов
0

ответ
28

Просмотры

Пространства имен Spring безопасности

Я новичок в Spring Security, и при прохождении официальной документации по Spring безопасности 3.1.x https://docs.spring.io/spring-security/site/docs/3.1.x/reference/session-mgmt.html В 12.3 Управление параллелизмом Он отметил, что Кроме того, вам нужно будет добавить ConcurrentSessionFilter к вашему FilterChainProxy. ConcurrentSessionFilter требует два свойства, sessionRegistry, который обычно указывает на экземпляр SessionRegistryImpl и expiredUrl, который указывает на страницу, чтобы увидеть, когда сессия истекла Мои сомнения в том, что ли добавление имя-пространства будет соответствовать этому требованию, или мне нужно явно добавить фасоль, определенную для достижения параллелизма? Буду признателен за любую оказанную помощь.
Abdu Manaz
1

голосов
0

ответ
55

Просмотры

Laravel 5.5 Переключение пользователей в сеансе

Я сделал «Закон как этого пользователя» простое действие для Aplication Adminis. Это выглядит следующим образом: выход из системы текущего пользователя войти как пользователь установил «shared_cookie» на основе нового текущего пользователя (\ App \ Auth \ AuthUser :: getUserData () получает подготовленные данные, основанные на Auth :: пользователя ()) общественная функция actAsUser ( запрос $ запрос, $ ID) {Auth :: охранник () -> выход из системы (); $ Request-> сессия () -> Invalidate (); \ Cookie :: Очередь (\ Cookie :: забыли ( 'shared_cookie')); $ ID = \ Hashids :: декодирование ($ ID) [0]; $ Пользователя = User :: найти ($ ID); Auth :: охранник () -> Логин ($ пользователю); \ Cookie :: Очередь (\ Cookie :: сделать ( 'shared_cookie', \ App \ Auth \ AuthUser :: getUserData (), конфигурации ( 'session.lifetime'), нулевой конфигурации ( 'app.cookie_shared_domain'), ложной, ложный)); } Это должно работать, но не совсем. Результатом является случайным! «Shared_cookie» всегда устанавливается должным образом, но в следующем запросе, Auth :: пользователь () случайным образом возвращает старый или новый пользователь. Иногда мне кажется, что это зависит от пользователя, но не совсем .. Любые идеи? Пожалуйста помоги!
1

голосов
0

ответ
60

Просмотры

Как предотвратить администратора электронной почты на наличие ошибок SuspiciousOperation

Мое приложение Django бросает много ошибок SuspiciousOperation, для которой админы получают по электронной почте: SuspiciousOperation в / API / отдыхе-AUTH / выходе из системы / сессия по просьбе была удалена до запроса завершен. Пользователь может вошел в одновременном запросе, например. Там нет ничего подозрительного по этому поводу. Это начало происходить, когда мы ввели функции тайм-аут автоматического выхода из системы, так что теперь, когда множественные запросы поступают из того же пользователя, и автоматического выхода из тайм-аута будет достигнуто, то эта ошибка происходит. Не всегда, но довольно часто. Есть ли способ предотвратить эту ошибку, или по крайней мере предотвратить электронную почту. Я обнаружил, что код, который генерирует ошибку происходит от process_response в django.contrib.sessions.middleware.SessionMiddleware, так что я думал перекрывая весь класс промежуточного программного обеспечения,
Martin Taleski
1

голосов
0

ответ
372

Просмотры

Как избежать сеанса обмена между двумя закладками Угловых 4

Я разработал приложение для входа с использованием угловыми 4 в качестве переднего конца и яровой безопасности, backend.Issue выглядит следующим образом: 1) вход с одним пользователем с правильными учетными данными в одной вкладке. (Пользователь получает в системе) 2) открыта вторая вкладка и попробуйте войти в систему с тем же пользователем с неправильным паролем. (Пользователь получает авторизовались хотя неправильные учетные данные введены) Я использую withcredentials = True для каждого запроса бэкэнд. Поэтому сессия становится разделена между два tabs.I хочет новая сессия, которая будет создана для новой вкладки. Ваша помощь приветствуется.
1

голосов
1

ответ
640

Просмотры

Woocommerce remove item from cart - PHP

The task is to make a item not purchasable if a customer already bought it. So my solution was to remove the product if the customer add it in the cart. add_action( 'woocommerce_add_to_cart', 'testtt'); function testtt() { $token = $_SESSION['******token']; $dataservice = *******Service::getService('DataService'); $list = $dataservice->getArticleBlacklist( $token ); foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { //Get SKU by product_id or if available variation_id if( $cart_item['variation_id'] != 0 ) { $prototype = new WC_Product( $cart_item['variation_id'] ); $prod_art_id = $prototype->get_sku(); } else { $prototype = new WC_Product( $cart_item['product_id'] ) ; $prod_art_id = $prototype->get_sku(); } //convert SKU from STRING into INTEGER $x = intval( $prod_art_id ); //Remove product if( $x == $list->int ) { WC()->cart->remove_cart_item( $cart_item_key ); } else { continue; } } I tried some different art of code for example: //Remove product if( $x == $list['int'] ) { And a lot of other things... nothing works. But the thing is that I know it works. Because if I change add_action( 'woocommerce_add_to_cart', 'testtt'); into add_action( 'parse_reqeust', 'testtt'); the code does what it has to do. I am very confused because I did some days ago a code with the same task and it still works (There I had to remove ALL OTHER products from cart if the 'marked' product was add to cart ). Info: in $list I am getting the Article SKU from the "blacklisted" product as an `object {["int"]=>int(*number*)}` . I hope someone could help me. Thanks^^
Alex Schwifty
1

голосов
1

ответ
34

Просмотры

Nexus 3 - Перенаправление Создать Repository страницу с аутентификацией пользователя

У меня есть приложение рельсы, которое взаимодействует с Nexus с помощью вызовов API. Для действия «создать репозиторий», я хочу, чтобы перенаправить пользователя на страницу Nexus 3 создать хранилище страницу. Создание хранилище требует аутентификации пользователя. Я понимаю, что мы можем сделать вызовы API, которые включают информацию о пользователе и аутентификации и достижении этой цели. Но, как я хочу, чтобы перенаправить их на страницу Nexus 3. Там я не хочу, чтобы пользователь снова аутентификации. Возможно ли, что мы можем перенаправить пользователя на связующей странице, прошедшего проверку подлинности пользователя?
1

голосов
0

ответ
502

Просмотры

Совместное заседание между ASP.NET Forms и ASP.NET Ядром

У меня есть существующий ASP.NET Forms веб-приложение, которое использует RedisSessionProvider. Это установка с помощью просто WebConfig со следующим. Я хотел бы поделиться этим с ASP.NET ядро ​​Subsite / субприложением. Я могу поделиться им хорошо с другими подсайтами, которые ASP.NET (MVC / Forms), просто добавив ссылку и добавив выше их WebConfigs. Тем не менее, для .NET Ядра, я не могу понять, как разделить его. Имейте в виду, что код для сайта форм ASP.NET на замораживание в течение 3-х месяцев, поэтому мы не можем делать какие-либо изменения. В приложении ASP.NET ядра я уже ссылается Microsoft.AspNetCore.DataProtection и StackExchange.Redis. И следующий код в Startup.cs общественных недействительных ConfigureServices (услуги IServiceCollection) {services.AddMvc (); services.AddSingleton (Конфигурация); Строка redisConnectionString = Configuration.GetValue ( "Redis: ConnectionString"); Строка redisKey = Configuration.GetValue ( "Redis: Key"); вар Redis = ConnectionMultiplexer.Connect (redisConnectionString); services.AddDataProtection () PersistKeysToRedis (Redis, redisKey) .SetApplicationName ( "MyApp"). services.AddAuthentication ( "Identity.Application") AddCookie ( "Identity.Application", варианты => {options.Cookie.Name = "ASP.NET_SessionId";}). services.AddSession (опции => {options.Cookie.Name = "ASP.NET_SessionId";}); services.AddOptions (); } И я добавил app.UseSession () общественного ничтожной Настройка (...). Это делает переименовать этот файл на такой же, как хост-сайт, но он не дает мне доступ к одной и той же сессии Store. Я предполагаю, что это что-то делать с тем, как куки зашифрованы в .NET ядра против ASP.NET. Это то, что я пытаюсь сделать это возможно без изменения узла .NET сайта Forms? Если это возможно, только если я модифицировал хозяин (должно быть в будущем), что бы я должен делать?
Hendel
1

голосов
1

ответ
38

Просмотры

Контроль сеанса другого пользователя в PHP

Можно ли в PHP для выбора конкретного пользователя из базы данных и редактировать их сеанс, кроме текущего пользователя? Скажем, в случае, когда изменения типа учетной записи или учетная запись удалено или отключены, сила session_destroy этого пользователя. Если да, то как?
8host
1

голосов
0

ответ
38

Просмотры

Drupal 7 -Netscaler -cookies

Мы пытаемся, чтобы обеспечить доступ через NetScaler-CVPN для веб-приложения Drupal 7, но сервер не позволяет логин. И мы получили это: X-Content-Type-Options: nosniff Set-Cookie: SSESSa5239a81fce10b404a57573e10af7bef = v8HAWDup-youPSJ-ozzcPX325W9NWBlfF8QezbadpXU; истекает = Sat, 19-Май-2018 16:32:18 GMT; Max-Age = 2000000; Путь = /; домен = .mymuhc.dev.muhc.mcgill.ca; обеспечения; HttpOnly Расположение: https://mywebo.ca/users/jata6003 Content-Length: 0 Keep-Alive: Тайм-аут = 5, макс = 100 Подключение: Keep-Alive Content-Type: текст / html; кодировка = UTF-8 GET / пользователи / jatpp6093 HTTP / 1.1 Host: mymuhc.dev.muhc.mcgill.ca Connection: Keep-живой Cache-Control: макс возраста = 0 Upgrade нестабильным-запросов: 1 User-Agent: Mozilla /5.0 (Windows NT 10,0; Win64; x64) AppleWebKit / 537,36 (KHTML, как Gecko) Chrome / 66.0.3359.117 Safari / 537,36 Accept: текст / HTML, приложение / XHTML + XML,
Jose H
1

голосов
0

ответ
202

Просмотры

Ионные-не отправляет куки сессии на прошивке

У меня есть проблема с прошивкой только после входа пользователя в систему на следующий запрос HTTP Ионные не отправляет куки сессии. Мои все платформы основаны на аутентификации сеанса печенья. Когда я строю андроид все работает нормально, но у меня есть проблемы с прошивкой. Моя информация Ионный: пакеты CLI: (/ USR / местные / Библиотека / node_modules) @ ионные / CLI-Utils: 1.19.1 ионная (Ionic CLI): 3.19.1 глобальные пакеты: Cordova (Кордова CLI): 8.0.0 местные пакеты : @ ионное / приложение-скрипты: 3.1.4 Кордова Платформа: Android 6.3.0 4.5.4 ионных IOS Framework: ионно-угловая 3.9.2 Система: КСН-развёртывание: 1.9.2 КСНЫ-SIM: 6.1.2 Узел: v8 .9.0 НПМ: 5.5.1 ОС: MacOS Sierra Xcode: Xcode 9.2 Сложение версия 9C40b Update withCredentials: правда не помогает, я пытался.
1

голосов
0

ответ
338

Просмотры

Создание нескольких папок для сохранения нескольких сеансов на mobaXterm

Я в значительной степени зависят от MobaXterm для подключения к удаленным серверам. Мой сохраненный список сеанса в настоящее время находится за пределами управляемого. Есть ли способ, чтобы создать папки и организовывать свои занятия в MobaXterm? Заранее спасибо!
1

голосов
1

ответ
845

Просмотры

How does Spring Security handle JSESSIONID with various Session Creation and Session Fixation combinations?

У меня есть приложение J2EE REST основе с использованием Spring Security 4.0.1.RELEASE. Излишне говорить, что весна документация по sessionCreationPolicy и sessionFixation разрежен, помимо целевых вопросов здесь, на StackOverflow. Я использую конфиг Java на основе для Spring Security, как это: @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity (secureEnabled = верно, prePostEnabled = верно, jsr250Enabled = истина, порядок = 1) общественный класс DefaultSecurityBeansConfig расширяет WebSecurityConfigurerAdapter {@Override защищен недействительным Configure ( HttpSecurity HTTP) бросает исключение {http.sessionManagement () .sessionCreationPolicy (SessionCreationPolicy.IF_REQUIRED) .sessionFixation () migrateSession () .и () .... // дополнительная конфигурация для краткости опущены}} I» D на самом деле просто хотел бы знать, какое поведение следует ожидать от весны, как он относится к JSessionID, учитывая все возможные комбинации sessionCreationPolicy и sessionFixation. Возможные значения в SessionCreationPolicy перечислимого ВСЕГДА, НИКОГДА, IF_REQUIRED и апатриды. Возможные значения для фиксации сессии являются newSession, migrateSession, changeSessionId, и нет. Спасибо. Примечание: Что побудило на этот вопрос в том, что я не вижу новый JSESSIONID на каждый запрос, когда я sessionCreationPolicy установлен IF_REQUIRED и sessionFixation установлен changeSessionId. JSESSIONID создан правильно, но сохраняется между запросами в дальнейшем. Я обобщил мой вопрос о всех комбинациях, мы надеемся помочь другим в подобной ситуации с немного разными настройками. учитывая все возможные комбинации sessionCreationPolicy и sessionFixation. Возможные значения в SessionCreationPolicy перечислимого ВСЕГДА, НИКОГДА, IF_REQUIRED и апатриды. Возможные значения для фиксации сессии являются newSession, migrateSession, changeSessionId, и нет. Спасибо. Примечание: Что побудило на этот вопрос в том, что я не вижу новый JSESSIONID на каждый запрос, когда я sessionCreationPolicy установлен IF_REQUIRED и sessionFixation установлен changeSessionId. JSESSIONID создан правильно, но сохраняется между запросами в дальнейшем. Я обобщил мой вопрос о всех комбинациях, мы надеемся помочь другим в подобной ситуации с немного разными настройками. учитывая все возможные комбинации sessionCreationPolicy и sessionFixation. Возможные значения в SessionCreationPolicy перечислимого ВСЕГДА, НИКОГДА, IF_REQUIRED и апатриды. Возможные значения для фиксации сессии являются newSession, migrateSession, changeSessionId, и нет. Спасибо. Примечание: Что побудило на этот вопрос в том, что я не вижу новый JSESSIONID на каждый запрос, когда я sessionCreationPolicy установлен IF_REQUIRED и sessionFixation установлен changeSessionId. JSESSIONID создан правильно, но сохраняется между запросами в дальнейшем. Я обобщил мой вопрос о всех комбинациях, мы надеемся помочь другим в подобной ситуации с немного разными настройками. migrateSession, changeSessionId, и нет. Спасибо. Примечание: Что побудило на этот вопрос в том, что я не вижу новый JSESSIONID на каждый запрос, когда я sessionCreationPolicy установлен IF_REQUIRED и sessionFixation установлен changeSessionId. JSESSIONID создан правильно, но сохраняется между запросами в дальнейшем. Я обобщил мой вопрос о всех комбинациях, мы надеемся помочь другим в подобной ситуации с немного разными настройками. migrateSession, changeSessionId, и нет. Спасибо. Примечание: Что побудило на этот вопрос в том, что я не вижу новый JSESSIONID на каждый запрос, когда я sessionCreationPolicy установлен IF_REQUIRED и sessionFixation установлен changeSessionId. JSESSIONID создан правильно, но сохраняется между запросами в дальнейшем. Я обобщил мой вопрос о всех комбинациях, мы надеемся помочь другим в подобной ситуации с немного разными настройками.
MegaMatt
1

голосов
0

ответ
116

Просмотры

CSRF маркер меняется при попытке войти в систему с питоном

Я пытаюсь войти в сайт, используя запросы питона с сессиями. Часть полезной нагрузки для входа является маркер CSRF, который может быть Царапины на странице входа. Поэтому для того, чтобы войти, я первый GET на странице входа, чтобы скрести маркер CSRF, а затем POST учетных данных с маркером. Проблема заключается в том, что каким-то образом сайт меняется «ожидаемый» CSRF токен меня между запросами. Я не очень хорошо знаком с тем, как печенье действительно работает, но я предполагаю, что там может быть что-то не так с управлением сеансом. Вот пример (анонимный немного), где я получаю CSRF маркера последовательно 4 раза из того же объекта сеанса. Обратите внимание, что маркер меняется на второй запрос, но потом меняет обратно на третий и остается неизменным на вперед. Удивительно, Войти не работает, если я только запросить страницу один раз. Он работает после 3-4 запросов, но, как вы можете видеть, что использует тот же CSRF токен, как только запрашивающий один раз! Любая помощь будет принята с благодарностью. СЕССИЯ COOKIES: [GET-ИНГ страница сайта Войти] CSRF: LK_6-aEvE_Zb_Zb_Zboo3y47yZnhEEQLS-vH0IYjAsg РЕАКЦИЯ COOKIES: СЕССИЯ COOKIES: [GET-ИНГ Войти на сайт страница] CSRF: jaYuITTeWLJkkMaYBsEzr7UiJKPx-Rm7JVXXR5z6Zs8 РЕАКЦИЯ ПЕЧЕНЬЕ: СЕССИЯ COOKIES: [GET-ING Войти страница сайта ] CSRF: LK_6-aEvE_Zb_Zb_Zboo3y47yZnhEEQLS-vH0IYjAsg РЕАКЦИЯ COOKIES: СЕССИЯ COOKIES: [GET-ИНГ Войти страницу сайта] CSRF: LK_6-aEvE_Zb_Zb_Zboo3y47yZnhEEQLS-vH0IYjAsg РЕАКЦИЯ COOKIES: Код, чтобы обрабатывать Логин: импорт запросы класса SiteSession (requests.Session): Защита __init __ (Я): супер () .__ INIT __ () г = self.get ( '[домен сайта] / Логин'
Alexander
1

голосов
1

ответ
54

Просмотры

Symfony Войти брандмауэр: Как получить доступ к предыдущей сессии, прежде чем она будет признана недействительной

Я бегу на основе веб-страницы Symfony 2.8, который использует FOSUserBundle. Когда пользователь переходит из публичной части веб-страницы в приватной части путем входа в сеанс демобилизован (изменения PHPSESSID). Таким образом, после регистрации в нем не возможно больше получить доступ к сеансу, который был использован в публичной части. В документации Symfony я нашел информацию о invalidate_session в конфигурации выхода из системы. В то время как это имеет смысл для очистки данных сеанса при входе, я не понимаю, в чем причина, к тому же при входе в системе Вопрос 1:. Есть ли возможность предотвратить Symfony из недействительности сессии при входе в? Даже если есть возможность изменить это поведение я бы preferr, чтобы сохранить его таким образом (чтобы предотвратить любые непредвиденные побочные эффекты). Это подводит нас ко второму вопросу: Вопрос 2: Есть ли какое-либо событие или другой способ, который может быть использован для доступа к общей сессии, прежде чем она будет аннулирована в процессе регистрации? Firewall.php использует обработчик onKernelRequest с приоритетом 8 для запуска своих методов аутентификации. Таким образом, я пытался использовать свой собственный обработчик на onKernelRequest с более высоким приоритетом получить доступ к сеансу первым, но это не сработало. Я получаю только доступ к новой сессии. Как решить эту проблему?
Andrei Herford
1

голосов
0

ответ
161

Просмотры

Как проверить действительные сессии и данные сессий в ColdFusion .cfc странице?

Я разработка одного приложения страницы, которая работает на ColdFusion 2016. Я уже разработала страницу входа и теперь я хотел бы развивать безопасность для каждого вызова Ajax, который отправляется на .cfc страницы. Существует много функций в этом файле и мой главный фокус, чтобы проверить, если пользователь сеанса существует и проверить, если Помнить Пользователь администратора или пользователя доступ. Там находится множество функций, которые должны быть доступны только с правами администратора доступа. Остальные функции доступны как для пользователя и администратора. Вот пример моей компетенции сессии, которая хранит всю информацию о пользователе после успешно прошла проверку подлинности: Код выше выполняется один раз пользователь вошел в систему, то я проверить на верхней части моего файла .cfc: / * Здесь я много функций, которые используются от пользователей и администраторов. * / Тогда на вершине этого в каждом cffunction я всегда проверяю, если AccountInfo сессия существует, и если доступ администратора устанавливается истина для функций администратора. Пример одной из функций, только доступ к Администраторами: Я интересно, если все описанные выше достаточно, чтобы защитить несанкционированный доступ пользователей для доступа к любой функции / данные в моей системе? Также другие вопросы о этом блоке кода: У меня есть это на вершине каждого cffunction в моем .cfc (некоторые функции не IsAdmin!). Я интересно, если это может быть размещен только на верхней части моего .cfc вместо того, чтобы это в каждой функции? Если кто-нибудь увидеть код, который может быть улучшен или иметь какие-либо рекомендации, пожалуйста, дайте мне знать. Это мой первый индивидуальный проект и я
espresso_coffee
1

голосов
0

ответ
20

Просмотры

Cookie безопасный тег работает на странице входа в систему, но не работает после входа в систему

Наш веб-приложение работает на Tomcat версии 7. Ранее это печенье было не имея безопасный тега, поэтому я изменил server.xml включить безопасную = «истинный» под разъемом, а также модифицированный web.xml, чтобы включить кук-конфигурацию при сеансовых конфигурации включить безопасные и HTTPOnly тегов. После изменений, которые я могу видеть, что безопасный тег приходит, когда я открываю страницу входа в систему, которая не придет раньше, но когда я войти на сайт, то безопасный тег снова исчезает (я проверил это с помощью хромо> печенья раздел), я могу видеть сессию идентификатор меняется до и после входа в систему. Что я должен сделать, чтобы сохранить кук безопасными после авторизации тоже? Спасибо за вашу помощь!!
HarishS

Просмотр дополнительных вопросов