Вопросы по тегу: cookies

(7)

Как я могу установить cookie в ответ?

Первоначально я использую следующий ajax для установки cookie.function setCookieAjax(){ $.ajax({ url: `${Web_Servlet}/setCookie`, contentType: 'application/x-www-form-urlencoded;charset=utf-8', headers: { 'Access-Control-Allow-Origin': '*', 'username': getCookie("username"), 'session': getCookie("session") }, type: 'GET', success: function(response){ setCookie("username", response.name, 30); setCookie("session", response.session, 30);} }) } function setCookie(cname, cvalue, minutes) { var d = new Date(); d.setTime(d.getTime() + (minutes*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + "; " + expires; } export const getUserName = (component) => { setCookieAjax() $.ajax({ url: `${Web_Servlet}/displayHeaderUserName`, contentType: 'application/x-www-form-urlencoded;charset=utf-8', headers: { 'Access-Control-Allow-Origin': '*', 'username': getCookie("username"), 'session': getCookie("session") }, type: 'GET', success: function(response){ component.setState({ usernameDisplay: response.message }) }.bind(component) }) } Теперь я хочу установить cookie, используя функцию добавления cookie сервлета. Но я не знаю, как достичь своей цели.Cookie loginCookie = new Cookie("user",user); //setting cookie to expiry in 30 mins loginCookie.setMaxAge(30*60); loginCookie.setDomain("localhost:4480"); loginCookie.setPath("/"); response.addCookie(loginCookie); Чтобы продлить срок действия файла cookie, что я должен написать в ответной части, чтобы получить время сеанса файла cookie?
O

OPfan

5 лет назад

Ответов: 9

Make Axios send cookies in its requests automatically

I am sending requests from the client to my Express.js server using Axios. I set a cookie on the client and I want to read that cookie from all Axios requests without adding them manually to request by hand. This is my clientside request example:axios.get(`some api url`).then(response => ... I tried to access headers or cookies by using these properties in my Express.js server:req.headers req.cookies Neither of them contained any cookies. I am using cookie parser middleware:app.use(cookieParser()) How do I make Axios send cookies in requests automatically? Edit:I set cookie on the client like this:import cookieClient from 'react-cookie' ... let cookie = cookieClient.load('cookie-name') if(cookie === undefined){ axios.get('path/to/my/cookie/api').then(response => { if(response.status == 200){ cookieClient.save('cookie-name', response.data, {path:'/'}) } }) } ... While it's also using Axios, it is not relevant to the question. I simply want to embed cookies into all my requests once a cookie is set.
K

Kunok

5 лет назад

Ответов: 14

Должен ли JWT храниться в localStorage или cookie?

В целях защиты REST API с помощью JWT, согласно некоторым материалам (например, это руководство и этот вопрос), JWT может храниться либо в localStorage или Файлы cookie. Исходя из моего понимания: localStorage подвергается XSS-атакам и, как правило, не рекомендуется хранить в нем какую-либо конфиденциальную информацию. С Cookies мы можем применить флаг «httpOnly», который снижает риск XSS. Однако, если мы должны читать JWT из файлов cookie на бэкэнде, мы подвергаемся CSRF. Итак, исходя из вышеизложенного, будет лучше, если мы будем хранить JWT в файлах cookie. При каждом запросе к серверу JWT будет считываться из файлов cookie и добавляться в заголовок авторизации с использованием схемы Bearer. Затем сервер может проверить JWT в заголовке запроса (в отличие от чтения его из файлов cookie).Я правильно понимаю? Если да, то есть ли у вышеупомянутого подхода какие-либо проблемы с безопасностью? Или на самом деле мы можем просто обойтись без использования localStorage?
p

pkid169

6 лет назад

Ответов: 4

Set cookies for cross origin requests

How to share cookies cross origin? More specifically, how to use the Set-Cookie header in combination with the header Access-Control-Allow-Origin?Here's an explanation of my situation:I am attempting to set a cookie for an API that is running on localhost:4000 in a web app that is hosted on localhost:3000. It seems I'm receiving the right response headers in the browser, but unfortunately they have no effect. These are the response headers:HTTP/1.1 200 OK Access-Control-Allow-Origin: http://localhost:3000 Vary: Origin, Accept-Encoding Set-Cookie: token=0d522ba17e130d6d19eb9c25b7ac58387b798639f81ffe75bd449afbc3cc715d6b038e426adeac3316f0511dc7fae3f7; Max-Age=86400; Domain=localhost:4000; Path=/; Expires=Tue, 19 Sep 2017 21:11:36 GMT; HttpOnly Content-Type: application/json; charset=utf-8 Content-Length: 180 ETag: W/"b4-VNrmF4xNeHGeLrGehNZTQNwAaUQ" Date: Mon, 18 Sep 2017 21:11:36 GMT Connection: keep-alive Furthermore, I can see the cookie under Response Cookies when I inspect the traffic using the Network tab of Chrome's developer tools. Yet, I can't see a cookie being set in in the Application tab under Storage/Cookies. I don't see any CORS errors, so I assume I'm missing something else.Any suggestions?Update I:I'm using the request module in a React-Redux app to issue a request to a /signin endpoint on the server. For the server I use express.Express server:res.cookie('token', 'xxx-xxx-xxx', { maxAge: 86400000, httpOnly: true, domain: 'localhost:3000' }) Request in browser:request.post({ uri: '/signin', json: { userName: 'userOne', password: '123456'}}, (err, response, body) => { // doing stuff })Update II:I am setting request and response headers now like crazy now, making sure that they are present in both the request and the response. Below is a screenshot. Notice the headers Access-Control-Allow-Credentials, Access-Control-Allow-Headers, Access-Control-Allow-Methods and Access-Control-Allow-Origin. Looking at the issue I found at Axios's github, I'm under the impression that all required headers are now set. Yet, there's still no luck...
P

Pim Heijden

4 года назад

Ответов: 10

Как мне сохранить session_token?

Я хочу сохранить 'session_token' после того, как мой пользователь вошел в систему, следует ли мне использовать для этого файлы cookie или сеансы?
u

user4051844

6 лет назад

Ответов: 1

Код cookie не работает в firefox

Я использую этот код в скине моего сайта. Он работает в Chrome, но не работает в Firefox. Я использую фреймворк cookie.js для сохранения имени файла css в cookie. //create and set cookies for colors var skinFileName = Cookies.get('skin_file').toString(); //if don't exist cookie for style Load Default stlye if (skinFileName=="") { $('#color_skin').attr('href', '/DNN_test/Portals/_default/Skins/Crew/css/style.css'); } else { $('#color_skin').attr('href', '/DNN_test/Portals/_default/Skins/Crew/css/' + skinFileName + '.css'); } //change colors of skin var colors = $('#colour-variations ul li a'); colors.on('click', function () { var dataTem = $(this).data('theme'); $('#color_skin').attr('href', '/DNN_test/Portals/_default/Skins/Crew/css/' + dataTem + '.css'); Cookies.set('skin_file', dataTem.toString(), { expires: 60, path: '' }); }); Когда я выполняю этот код $('#color_skin').attr('href', '/DNN_test/Portals/_default/Skins/Crew/css/pink.css');) в консоли работает, но когда я выполняю этот код var skinFileName = Cookies.get('skin_file').toString(); Я получаю эту ошибку: TypeError: Cookies.get(...) is undefined
h

hmahdavi

6 лет назад

Ответов: 1

SameSite предупреждение Chrome 77

После последнего обновления у меня возникла ошибка с cookies, связанная с атрибутом SameSite.Куки принадлежат сторонним разработчикам (Fontawesome, jQuery, Google Analytics, Google reCaptcha, Google Fonts и т. д.).Ошибки в консоли Chrome выглядят следующим образом.Куки, связанные с межсайтовым ресурсом по адресу , были установлены без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах и . (index):1 Файл cookie, связанный с межсайтовым ресурсом по адресу http://jquery.com/, был установлен без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032. (index):1 Файл cookie, связанный с межсайтовым ресурсом по адресу http://fontawesome.com/, был установлен без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032. (index):1 Файл cookie, связанный с межсайтовым ресурсом по адресу http://google.com/, был установлен без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032. (index):1 Файл cookie, связанный с межсайтовым ресурсом по адресу https://google.com/, был установлен без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032. (index):1 Файл cookie, связанный с межсайтовым ресурсом по адресу https://www.google.com/, был установлен без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032. (index):1 Файл cookie, связанный с межсайтовым ресурсом по адресу http://www.google.com/, был установлен без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032. (index):1 Файл cookie, связанный с межсайтовым ресурсом по адресу http://gstatic.com/, был установлен без атрибута `SameSite`. Будущий выпуск Chrome будет передавать файлы cookie с межсайтовыми запросами, только если они установлены с `SameSite=None` и `Secure`. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе Application>Storage>Cookies и посмотреть более подробную информацию на сайтах https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032. Есть ли что-то, что мне нужно сделать на моей локальной машине или сервере, или это просто какая-то функция, которую они должны реализовать в будущих выпусках своих библиотек?
p

peiblox

2 года назад

Ответов: 6

2022 WebDevInsider