2010-02-16 25 views
9

Chúng tôi có một dấu hiệu duy nhất về triển khai cho một nhóm trang web nơi cookie xác thực đến từ miền gốc (ví dụ: bar.com), cho phép họ đăng nhập vào miền con ví dụ: foo.bar.com). Việc triển khai thực hiện bằng C# bằng cách sử dụng xác thực biểu mẫu .net chuẩn.Dấu đơn trên cookie được xóa bởi phần mềm chống phần mềm gián điệp

Thật không may, một số người dùng của chúng tôi đang xóa cookie xác thực của họ bằng phần mềm chống phần mềm gián điệp. Tôi đã có thể tái tạo tình huống này bằng cách sử dụng PC Tools Anti Spyware và IE8.

Kết quả thực tế là người dùng đăng nhập vào trang web, điều hướng đến một trang khác và sau đó được yêu cầu đăng nhập lại.

Cookie được gắn cờ là cookie theo dõi rủi ro thấp bởi phần mềm chống phần mềm gián điệp.

Có cách nào để làm cho cookie trở nên ngon miệng hơn với thị hiếu dường như khá khó chịu của phần mềm chống phần mềm gián điệp của người dùng của chúng tôi không?

Cập nhật:

Tôi đã xem xét hàng đầu "." vấn đề và đó là cá trích đỏ. IE Doesn't care và, như tôi đã phát hiện qua this post, RFC 2965 Specification yêu cầu người triển khai cung cấp dấu chấm hàng đầu.

Đọc thêm dẫn tôi đến bài viết "Privacy alert: Cookie variants can be used to skirt blockers, anti-spyware tools". Về cơ bản, nhiều trang web đang sử dụng tên miền phụ như một cách ẩn cookie theo dõi.

Dường như một số phần mềm chống phần mềm gián điệp sẽ tôn trọng các tuyên bố P3P (Platform for Privacy Preferences) trên tên miền chính. Thật không may, do thiếu sự hỗ trợ từ những người triển khai trình duyệt, công việc đã bị đình chỉ trên P3P.

Ở giai đoạn này, tôi nghĩ giải pháp cho vấn đề sẽ là một người dùng được đề xuất: tên miền phụ sẽ cần phải tạo cookie xác thực của riêng mình.

+1

Tôi đang nghĩ rằng phần mềm chống spyware đang hoạt động như được quảng cáo. Xem xét việc tái cấu trúc mọi thứ để bạn có một cổng thông tin đăng nhập (ví dụ: login.bar.com) chuyển hướng đến tài nguyên mong muốn sau khi xác thực. –

+0

Tôi không thấy điều này là lập trình liên quan. –

+1

Làm cách nào để chương trình này không liên quan đến chính xác? Anh ta đang cố tạo cookie theo lập trình mà phần mềm gián điệp sẽ không phát hiện là mối đe dọa. –

Trả lời

0

Bạn có thể kiểm tra xem cookie xác thực của bạn có đang sử dụng miền .bar.com sẽ hoạt động tại www.bar.com, foo.bar.com, etc.bar.com.

Hành vi chính xác này là tùy thuộc vào trình duyệt nhưng đây là thực tiễn phổ biến để cho phép cùng một cookie trên nhiều tên miền phụ. Lưu ý rằng nếu cookie xác thực ban đầu của bạn được đặt là www.bar.com thì trình duyệt tốt sẽ từ chối nó cho foo.bar.com nhưng không phải cho foo.www.bar.com

Tôi có ý nghĩa gì không? :-)

Cập nhật: Hình như bạn có thể ghi đè lên domain trong phần <forms của Web.config của bạn, đây là một link. Tôi sẽ bắt đầu ở đó.

+0

Tôi e rằng chúng tôi hiện đang sử dụng _.bar.com_ bằng cách sử dụng kỹ thuật được nêu trong liên kết hữu ích mà bạn đã cung cấp. – aboy021

+0

@ aboy021: Tôi sợ điều đó. Nếu đây là trường hợp sau đó tôi không chắc chắn những gì bạn có thể làm để vượt qua một phần mềm chống phần mềm gián điệp được lựa chọn để bỏ qua các tiêu chuẩn. Bạn có thể thử sao chép cookie trên nhiều tên miền cụ thể, nhưng tôi cho rằng phần mềm chống phần mềm gián điệp cũng sẽ phàn nàn bạn đang tạo cookie cho tên miền khác với tên miền mà người dùng hiện đang truy cập. Tốt nhất của may mắn figuring này ra. –

1

Bạn có thể kiểm tra các phương tiện mặc định trong thông số giao thức SAML SSO để có thêm ý tưởng. Lưu trữ với tất cả tài liệu ở đây là http://docs.oasis-open.org/security/saml/v2.0/saml-2.0-os.zip xem xét "Xác nhận và giao thức" cho mô tả giao thức và "Ràng buộc" cho các phương tiện vận chuyển có thể có (đặc biệt tại chuyển hướng và POST).

Ý tưởng chung là bằng cách nào đó truy vấn máy chủ SSO nếu người dùng hiện tại được xác thực và sau đó lưu vào bộ nhớ cache trạng thái đó bằng cookie của riêng mình. Bằng cách này, mọi ứng dụng chỉ đặt cookie trên tên miền riêng.

+0

Tôi nghĩ rằng cách tiếp cận này chắc chắn sẽ hoạt động. Bây giờ tôi sẽ xem nếu tôi có thể nhận được các cookie được trong một hình thức mà phần mềm chống phần mềm gián điệp tìm thấy chấp nhận được. – aboy021

1

Tôi đã xây dựng một hệ thống như thế này. Có một tên miền đăng nhập (auth site).Nếu đăng nhập thành công, nó sẽ chuyển hướng người dùng từ trang xác thực đến trang web đã khởi tạo thông tin đăng nhập bằng mã thông báo một lần. Sau đó, trang web đó thiết lập cookie và bobs của riêng bạn chú của bạn. Khi bạn đăng xuất, bạn phải truy cập trực tiếp trang auth để xóa cookie như một phần của chuyển hướng quay lại trang web. Trang web của bạn sau đó xóa cookie của riêng nó. Hahaha hy vọng điều đó có ý nghĩa!

+0

Thật không may, chúng tôi vẫn muốn duy trì khả năng đăng nhập một lần, vì vậy nếu họ đăng nhập vào 'bar.com', họ sẽ đăng nhập vào 'foo.bar.com' và' cat.bar.com' một cách hiệu quả. Tôi nghĩ rằng với một mã thông báo một lần chúng tôi sẽ mất nó. Dựa trên các thử nghiệm tôi đã làm, cookie miền gốc chỉ bị xóa sau vài giây, vì vậy chúng tôi có thể sử dụng mã này làm mã thông báo một lần cho người dùng bị ảnh hưởng. – aboy021

+0

.. Vì vậy, bạn đã đăng nhập vào foo.bar.com. Bạn đi đến cat.bar.com máy chủ thông báo rằng bạn không đăng nhập vào mèo để nó chuyển hướng bạn trở lại foo.bar.com mà biết bạn đã đăng nhập để tạo ra một mã thông báo và gửi bạn trở lại cat.bar.com mà các bản ghi Nếu bạn không đăng nhập vào foo.bar.com, nó sẽ gửi bạn trở lại với một mã thông báo khác cho biết rằng bạn chưa đăng nhập, vì vậy đừng thử và tự động xác thực tôi. Điều đó có thể làm việc? – superlogical

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