Пересеките доменные cookie

Техника, для которой рекомендовал W3C, делает это называют, "встраивая" и хорошо описывают эти три статьи здесь: Шрифты Встраивания . В моих ограниченных экспериментах я нашел этот процесс подверженным ошибкам и имел ограниченный успех в том, чтобы заставлять его функционировать в среде мультибраузера.

24
задан Cloud 10 February 2016 в 05:21
поделиться

3 ответа

У domain.com нет абсолютно никакого способа установить cookie для domain1.com. То, что вы пытаетесь сделать, можно решить, только заставив браузер пользователя отправлять запросы в каждый домен, который затем установит свой собственный файл cookie.

Затем вам понадобится способ для каждого домена проверить личность пользователя. Есть два подхода к этому:

  1. Обратный канал - сайты связываются друг с другом напрямую, чтобы определить, вошел ли пользователь в систему.
  2. Передача токена в GET или POST - когда браузер пользователя перенаправляется на другой сайт передается параметр с цифровой подписью, содержащий идентификатор и статус сеанса.

Это действительно довольно сложно. Я предлагаю вам не катить свои собственные. Взгляните на SimpleSAMLPHP для реализации PHP того, что я описываю.

29
ответ дан 28 November 2019 в 23:28
поделиться

То, что вы пытаетесь сделать, невозможно. (Это проблема безопасности браузера, а не PHP.)

За исключением использования какой-либо формы аутентификации вне сайта, ближайшая к вам задача - сделать файл cookie доступным для всех поддоменов, и в этом случае вы просто используете необязательный аргумент 'domain' функции PHP set_cookie .

6
ответ дан 28 November 2019 в 23:28
поделиться

Следующие действия работают в FF3 + и Midori (и, предположительно, в других браузерах Webkit):

select
        {width: 14em;
        margin: 0 1em;
        text-indent: 1em;
        line-height: 2em;}

select *    {width: 14em;
        padding: 0 1em;
        text-indent: 0;
        line-height: 2em;}

Ширина должна обеспечивать достаточно места в отображаемом поле выберите , когда оно не активно , поле делает то, что всегда, text-indent используется для имитации отступа между левой границей поля выбора и внутренним текстом. line-height только для разрешения вертикального интервала.

Боюсь, что я не могу комментировать его использование в IE, поэтому, если кто-то может ответить или приспособиться к этому,

Стоит отметить, что раскрывающаяся часть выбора ( select * ) не влияет на меня за пределами FF3 по какой-либо причине, поэтому, если это был тот вопрос, который вы хотели отвечая, прошу прощения за то, что не предложил ничего нового.

Демо по адресу: http://davidrhysthomas.co.

3
ответ дан 28 November 2019 в 23:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: