2009-04-17 7 views
5

Chúng tôi đang phát triển một cửa hàng web và xử lý thanh toán với giao diện người dùng của bên thứ ba.Mất trạng thái phiên trong khung nội tuyến, nhưng không ở trong cửa sổ bật lên

Chúng tôi đã chọn hiển thị giao diện người dùng thanh toán bên trong iframe trong trang kiểm tra ra ngoài, mặc dù (bây giờ chúng tôi nhận ra), nhà cung cấp giải pháp thanh toán khuyên bạn nên sử dụng cửa sổ cấp cao nhất.

Bây giờ điều gì xảy ra là trong IE7/IE8, giao diện người dùng thanh toán mất trạng thái phiên trên postback đầu tiên (bên trong iframe), trong khi trong Firefox, nó hoạt động tốt. Chúng tôi quan sát thấy giao diện người dùng thanh toán được phát triển bằng ASP.NET.

Tôi đã ấn tượng rằng theo như máy chủ được quan tâm, không có sự khác biệt giữa việc được tham chiếu từ iframe so với cửa sổ cấp cao nhất, nhưng rõ ràng là có.

Có ai có đầu mối không? Khung nội tuyến làm điều gì có thể tạo sự khác biệt cho máy chủ thanh toán, khiến cho trạng thái mất trạng thái phiên?

Có thể nào (nó đột nhiên xuất hiện trên tôi) có sự khác biệt trong xử lý cookie không? An ninh chặt chẽ hơn có lẽ?

Trả lời

7

Có lẽ do này:

Internet Explorer 6 giới thiệu hỗ trợ cho Cương lĩnh Preferences Bảo mật (P3P) Dự án. Tiêu chuẩn P3P lưu ý rằng nếu FRAMESET hoặc cửa sổ chính tham chiếu một trang khác bên trong FRAME hoặc bên trong cửa sổ con, trang con được coi là nội dung của bên thứ ba. Internet Explorer, sử dụng cài đặt bảo mật mặc định của Phương tiện, âm thầm từ chối cookie được gửi từ các trang web của bên thứ ba.

http://support.microsoft.com/kb/323752/en-us

một lần tôi nghe ai đó nói rằng một IFrame thực sự là một trường hợp mới của IE, nhưng dường như đó là một chút phức tạp hơn.

+0

Dang! Điều đó có thể chỉ là nó! Quay lại bảng vẽ .. –

+1

Bạn có thể sửa lỗi này bằng cách đảm bảo rằng cả bạn và nhà cung cấp thanh toán đã xác định P3P: điều này sẽ cho phép IE chấp nhận cookie của bên thứ ba - phải làm những việc tương tự khi IE 6 xuất hiện cho quảng cáo được phân phát trong IFrame từ máy chủ quảng cáo từ xa. –

+0

Cảm ơn, tôi sẽ kiểm tra điều đó! –

0

nên cấu trúc của mã của bạn/trang web sẽ là một cái gì đó như:

  1. Site A có trang 1 có một iframe hiển thị trang web B
  2. các bản cập nhật iframe và bây giờ sẽ hiển thị trang 2 từ Site A

và khi bạn nhấp chuột phải vào nội dung của khung nội tuyến, bạn có thể xác minh rằng url tương ứng với Trang web A?

Nếu bạn gỡ lỗi, trang có tắt các điểm ngắt của bạn như mong đợi không?

+0

Không. Trang web Trang 1 được hiển thị mọi lúc. Bên trong trang Một trang 1 là một khung nội tuyến hiển thị trang của trang B 1. Trang của trang B 1 đăng lại (bên trong khung nội tuyến) đến trang Site B 2. Bây giờ trang B trang 2 không có trạng thái phiên. –

1

Bạn có thể tìm thấy this article by Milan Negovan hữu ích để giải thích lý do tại sao các trang có khung nhận được ID phiên riêng biệt. Bài báo cũng nói về giải pháp P3P được đề cập bởi Gerrie Schenck ở trên.

+0

+1 cho tài liệu tham khảo P3P - rất hữu ích. –

+0

Liên kết tới một bài viết có vẻ đang chuyển hướng đến một trang web tiếng Á ngay bây giờ .. không nhấp vào. – ooXei1sh