javascript - How can I create securehttpOnly cookies with document.cookie? - Stack Overflow

If I create the function:function setCookie(name, value){ this works: document.cookie=name + "

If I create the function:

function setCookie(name, value)
    {
      // this works:
      // document.cookie=name + "=" + escape(value) + "; path=/;";
      // this does not:
      // document.cookie=name + "=" + escape(value) + "; path=/; secure; HttpOnly; SameSite=strict";
    }
setCookie('my_cookie','some_random_value');

I am not 100% on why this second option is not working. Any ideas anyone?

If I create the function:

function setCookie(name, value)
    {
      // this works:
      // document.cookie=name + "=" + escape(value) + "; path=/;";
      // this does not:
      // document.cookie=name + "=" + escape(value) + "; path=/; secure; HttpOnly; SameSite=strict";
    }
setCookie('my_cookie','some_random_value');

I am not 100% on why this second option is not working. Any ideas anyone?

Share Improve this question edited Mar 31, 2021 at 16:51 Barmar 784k57 gold badges548 silver badges659 bronze badges asked Mar 31, 2021 at 16:48 simlpymarkbsimlpymarkb 3855 silver badges13 bronze badges 2
  • You can't create an HTTP-only cookie on the client. By definition it can only be created using HTTP from the server. – Barmar Commented Mar 31, 2021 at 16:50
  • Does this answer your question? Set a cookie to HttpOnly via Javascript – Heretic Monkey Commented Mar 31, 2021 at 16:53
Add a ment  | 

1 Answer 1

Reset to default 5

See MDN:

A cookie with the HttpOnly attribute is inaccessible to the JavaScript Document.cookie API; it is sent only to the server. For example, cookies that persist server-side sessions don't need to be available to JavaScript, and should have the HttpOnly attribute. This precaution helps mitigate cross-site scripting (XSS) attacks.

You can't set it with document.cookie because the entire point of the flag is to prevent it being set (or read) with document.cookie.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744910247a4600504.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信