How do I delete a cookie from a specific domain using Javascript?

前端 未结 3 909
天涯浪人
天涯浪人 2020-12-30 06:31

Let\'s say I am at http://www.example.com and I want to delete a cookie whose domain is .example.com and another one whose domain is www.example.com

相关标签:
3条回答
  • 2020-12-30 07:17

    We need to set the cookie for delete them.

    Example:

    this.cookieService.set(cookiename, '', new Date('Thu, 01 Jan 1970 00:00:01 GMT'));
    

    Please refer below Git location for more details. https://github.com/7leads/ngx-cookie-service/issues/5 https://github.com/angular/angular/issues/9954

    0 讨论(0)
  • 2020-12-30 07:28

    You could do this only if you were at http://example.com and wanted to delete http://blah.example.com cookie. It wouldn't work from www.example.com either - only the "base" domain can delete subdomain cookies.

    There are also "all-subdomain" cookies, which start with a ., and can also only be deleted by the base domain.

    From the base domain, this should work to delete it:

    document.cookie = 'my_cookie=; path=/; domain=.example.com; expires=' + new Date(0).toUTCString();
    

    Or using the excellent jquery.cookie plugin:

    $.cookie('my_cookie',null, {domain:'.example.com'})
    
    0 讨论(0)
  • 2020-12-30 07:28

    For security, you're not allowed to edit (or delete) a cookie on another site. Since there's no guarantee that you own both foo.domain.com and bar.domain.com, you won't be allowed to edit the cookies of foo.domain.com from bar.domain.com and vice versa.

    Consider if you were allowed to do that and went to a malicious site, then back to your bank where you were about to deposit a cheque into your bank account. But while being on the malicious site, they updated your bank cookie with their own bank information. Now, suddenly, the cheque would be deposited into the malicious site's owner's bank account.

    0 讨论(0)
提交回复
热议问题