Можно ли использовать тег <img>для отправки файлов cookie по доменам? - PullRequest
7 голосов
/ 31 декабря 2008

Посмотрите на эту ситуацию:

  1. www.websitea.com отображает тег img с атрибутом src www.websiteb.com/image.aspx?id=5 и style="display:none"
  2. www.websiteb.com возвращает чистое изображение, в дополнение к cookie с именем referrer и значением 5 (создано на стороне сервера из проверенной строки запроса.)

Будет ли файл cookie создаваться в домене www.websitea.com или www.websiteb.com?

В настоящее время я уверен в серии перенаправлений со строками запросов и для достижения междоменных файлов cookie, но я придумал эту идею изображения немного назад. Я думаю, я мог бы также использовать iframe.

Спасибо!

Ответы [ 5 ]

6 голосов
/ 31 декабря 2008

Выезд: междоменное пользователь слежения

Кто-то упоминает использование изображения 1x1 для отслеживания между доменами.

6 голосов
/ 31 декабря 2008

Файл cookie будет создан для websiteb.com.

1 голос
/ 31 декабря 2008

Вы на правильном пути. Как уже упоминали другие, куки будут созданы для websiteb.com.

Чтобы преодолеть проблемы с IE, вам, вероятно, потребуется реклама компактной политики конфиденциальности.

Начните здесь: http://msdn.microsoft.com/en-us/library/ms537342.aspx и Google для остальных.

1 голос
/ 31 декабря 2008

Файл cookie создается из запроса к websiteb.com, так что ... файл cookie попадает в область действия сайта websiteb

0 голосов
/ 31 декабря 2008

Хорошо, выглядит хорошо. Проверено во всех браузерах. Добавлен тег P3P для IE6, хотя и не уверен, что это необходимо.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Response.AddHeader("P3P", "CP=""CAO PSA OUR""")
        Dim passedlocalizeID As String = Request.QueryString("id")
        Dim localizeID As Integer
        If passedlocalizeID IsNot Nothing AndAlso Int32.TryParse(passedlocalizeID, localizeID) Then
            Dim localizer As New Localizer
            localizer.LocalizeTo(localizeID)
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Redirecting . . .</title>
    <meta http-equiv="refresh" content="0;URL=/" />
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>
...