Можно ли установить файл cookie только для domain.tld и www.domain.tld, чтобы при переходе на любой другой поддомен (например, bla.doamin.tld) файл cookie не устанавливался?
Только если вы указываете .domain.tld, cookie работает для всех поддоменов. Установка файла cookie для www.domain.tld И domain.tld должна быть именно тем, что вам нужно.
Вы можете сделать это. Это упомянуто в этой спецификации cookie: http://curl.haxx.se/rfc/cookie_spec.html
При поиске действительных файлов cookie в списке файлов cookie выполняется сравнение атрибутов домена файла cookie с именем домена в Интернете хоста, с которого будет получен URL-адрес. Если есть совпадение хвостов, то cookie будет проходить сопоставление пути, чтобы увидеть, нужно ли его отправлять. «Сопоставление хвоста» означает, что атрибут домена сопоставляется с хвостом полного доменного имени хоста. Атрибут домена «acme.com» будет соответствовать именам хостов «anvil.acme.com», а также «shipping.crate.acme.com».
Я думаю, что это невозможно. Я бы абстрагировал вашу функциональность установки файлов cookie и просто установил два файла cookie. Один для www.example.org и один для example.org .