2010-08-23 51 views
11

Tôi đang làm việc trên trang web tạo lưu lượng truy cập cho các trang web đối tác. Khi biểu trưng của trang đối tác được nhấp trên trang web của chúng tôi, chúng tôi mở trang đối tác trong trang chứa tiêu đề cơ bản của chúng tôi và trang đối tác trong iframe. Trước đó chúng tôi chỉ đơn giản là mở trang đối tác trong cửa sổ mới. Tất cả mát mẻ cho đến nay.iFrames + Google Analytics + Cookie + P3P

Hầu hết các trang web đối tác sử dụng phân tích google để theo dõi lưu lượng truy cập mà chúng tôi gửi cho họ và ngay sau khi chúng tôi bắt đầu mở trang web trong iframe, đối tác của chúng tôi báo cáo rằng Google Analytics không theo dõi dữ liệu nữa (hoặc chỉ theo dõi một phần dữ liệu).

Tôi đã chia sẻ công việc của mình về bài tập về nhà/nghiên cứu trên googleverse và tìm thấy vấn đề với google analytics hoặc cookie nói chung trên các tên miền và iframe.

Tôi đang cố giải quyết vấn đề này và giải pháp duy nhất đã được tham chiếu là sử dụng tiêu đề P3P.

  1. Đầu tiên, đâu là tiêu đề P3P? Trong trang các trang của tôi hoặc các trang của đối tác. Vì chúng tôi có nhiều trang web đối tác (lớn và nhỏ) nên sẽ không thực tế nếu giải pháp là đặt thẻ vào từng trang web này. Tôi có thể dễ dàng thêm chúng vào trang chứa iframe.

  2. Trong số các trình tạo tiêu đề p3p khác nhau có một trình tạo tiêu đề đáng tin cậy mà bạn đề xuất không?

  3. Có cách nào xung quanh vấn đề này không? Tôi thực sự cần phải mở các trang web trong iframes và rõ ràng là các trang web đối tác thực sự cần phải theo dõi lưu lượng truy cập.

Cảm ơn sự giúp đỡ của bạn.

+0

@eduardocereto: Đã thêm một số mẫu mã khác. – Mrchief

Trả lời

7

Thật không may, cả bạn và trang web đối tác đều cần đặt tiêu đề.

Alternatives:

  • Nếu bạn không muốn các trang web đối tác để thiết lập tiêu đề, một lựa chọn là để giảm mức độ bảo mật (trong IE) hoặc cấp quyền truy cập vào các tập tin cookie bên thứ 3 (trong FF) trong trình duyệt cài đặt. Mỗi khách hàng phải làm điều này, vì vậy đây có thể không phải là một giải pháp hấp dẫn.
  • Sử dụng localStorage (HTML5 thingy - trình duyệt hỗ trợ localStorage cho phép truy cập vào cả trang web và nội dung của iFrame được lưu trữ trong localStorage). Điều này có thể không khả thi trong thời gian ngắn vì nó yêu cầu cả bạn và trang đối tác của bạn thực hiện lưu/đọc thông tin đến/từ localStorage và không phải mọi trình duyệt đều hỗ trợ nó (đặc biệt là các trình duyệt IE cũ).

Để thêm tiêu đề chính sách cơ bản (lý tưởng bạn nên tạo chính sách của riêng bạn mà là thẳng về phía trước - kiểm tra mụC# 2 bên dưới)

trong php thêm dòng này:

<?php header('P3P: CP="CAO PSA OUR"'); ?> 

trong ASP.Net:

HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\""); 

trong HTML trang:

<meta http-equiv="P3P" content='CP="CAO PSA OUR"'> 

Về mối quan tâm khác của bạn:

1)P3P tiêu đề tham khảo các tiêu đề HTTP mang lại một cái gì đó gọi là a compact policy vào trình duyệt. Nếu không có chính sách như vậy, IE (đáng chú ý nhất) và các trình duyệt khác sẽ chặn quyền truy cập vào cookie của bên thứ ba (thuật ngữ được sử dụng để tham khảo cookie của iFrame) để bảo vệ các mối quan tâm về quyền riêng tư của người dùng.

Theo như Google Analytics đi, cả trang web của bạn và các trang web đối tác vẫn cần phải cấu hình cross domain tracking như được nêu trong tài liệu hướng dẫn của họ.

2) Bạn có thể sử dụng cơ bản chính sách tiêu đề này (đó là đủ để sửa chữa các tập tin cookie iFrame của):

P3P: CP = "CAO PSA CỦA CHÚNG TÔI"

hoặc tạo của riêng bạn. Nếu bạn không chắc chắn những thuật ngữ này có ý nghĩa gì, hãy xem this.

Để tạo chính sách như vậy, bạn có thể sử dụng trình chỉnh sửa trực tuyến như p3pedit.com hoặc số tool của IBM trình bày một bộ câu hỏi và cho phép bạn trình bày câu trả lời. Điều này giúp bạn dễ dàng tạo nhanh chính sách như vậy. Bạn có thể tạo policy XML, compact policy và hơn thế nữa.

3) Bạn có thể thử hai phương án được đề cập ở trên.

Các bước để thêm chính sách cho toàn bộ trang web của bạn

  1. Tạo một chính sách nhỏ gọn (bằng một trong những công cụ đề cập trước đó) hoặc sử dụng các chính sách cơ bản
  2. Trong IIS, nhấp chuột phải trang, thư mục hoặc trang mong muốn, rồi bấm Thuộc tính.
  3. Trên tab Tiêu đề HTTP, nhấp vào Thêm.
  4. Trong trường Tên tiêu đề tùy chỉnh, hãy nhập P3P.
  5. Trong trường Giá trị tiêu đề tùy chỉnh, hãy nhập Chính sách nhỏ gọn P3P của bạn (hoặc cơ bản từ trên xuống) và sau đó nhấp vào OK.
  6. Trong Apache, một dòng mod_header như thế này sẽ làm:
Header append P3P "CP=\"CAO PSA OUR\"" 

ths Hope giúp.

+0

Câu trả lời hay. Tôi đã nhận thấy rằng CP = "CAO PSA OUR", thường đủ để vượt qua giới hạn cookie. – Eduardo

+2

Có lý do gì để tạo tệp P3P đầy đủ ngoài việc tuân thủ một đặc điểm kỹ thuật mà không ai quan tâm? – Eduardo

+1

Lý do để tạo một tệp P3P đầy đủ sẽ là bạn quan tâm đến nó! :) – Mrchief

Các vấn đề liên quan