Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

php setcookie domain

Tags:

Some application, not written by me, and not in PHP, creates a cookie for the domain "www.domain.com".

I am trying to replace that cookie. So in php I did:

setcookie('mycookie','mydata',time() + 2*7*24*60*60,'/','www.domain.com', false); 

However the resulting cookie is created for domain: ".www.domain.com", note the dot "." ahead of the domain.

So it doesn't replace it, it creates another cookie. What can I do?

like image 319
Nathan H Avatar asked Feb 17 '10 22:02

Nathan H


People also ask

What is the Setcookie in PHP?

The setcookie() function defines a cookie to be sent along with the rest of the HTTP headers. A cookie is often used to identify a user. A cookie is a small file that the server embeds on the user's computer.

Why is Setcookie not working PHP?

The PHP isset() checks whether a cookie is set. Reminder: if you detect PHP setcookie not working, make sure it appears before the <html> element in your code, and that the set path parameter is correct.

Where Setcookie function must appear in PHP?

Yes, The setcookie() function must appear BEFORE the <html> tag. The setcookie() function defines a cookie to be sent along with the rest of the HTTP headers.

Can I set a cookie for any domain?

You cannot set cookies for another domain.


2 Answers

The issue is also adressed here: https://www.php.net/manual/en/function.setcookie.php

See comment by jah:

If you want to restrict the cookie to a single host, supply the domain parameter as an empty string

You could also try .domain.com as the domain. The trailing dot will allow a cookie for all subdomains for domain.com and could overwrite the www.-cookie, but I'll go with the above solution first.

like image 162
Select0r Avatar answered Nov 01 '22 00:11

Select0r


If you specify a domain, you should follow RFC 2109 and prefix the domain with a dot; otherwise the client will do that. But if you don’t specify a domain at all, the client will take the domain of the request.

like image 35
Gumbo Avatar answered Oct 31 '22 23:10

Gumbo