2010-06-22 5 views
6

Có phương pháp nào để nói từ javascript nếu trình duyệt có "cấu hình bảo mật nâng cao" được bật không?Có thể phát hiện Cấu hình Bảo mật Nâng cao của Internet Explorer trong javascript không?

Tôi tiếp tục gặp sự cố với một số điều khiển không hoạt động từ bên trong nội dung được tải động. Điều này chỉ xảy ra với các trình duyệt đang chạy trên các hệ thống Windows Server 2003/2008 - ngay cả khi tôi thêm máy chủ vào vùng "đáng tin cậy".

Có thể ai đó đã develoepd một phương pháp để hoàn thành nhiệm vụ này?

Cảm ơn trước

Trả lời

0

Tôi nghĩ bạn có thể tìm kiếm SV1 trong số user agent string.

+0

Thật không may là không thực hiện thủ thuật. Theo Microsoft: http://msdn.microsoft.com/en-us/library/ms537503%28VS.85%29.aspx chuỗi "SV1" chỉ được sử dụng bởi Internet Explorer 6. Kiểm tra nhanh về một vài máy dường như xác nhận điều này. –

1

Tôi không nghĩ rằng nó có thể, và nếu nó vẫn còn, hơn là một lỗi mà có thể sớm hay muộn được cố định.

Một trong những điểm chính của "bảo mật bổ sung" này là để khách hàng có nó nhưng không được máy chủ phát hiện, do đó không cho họ biết khi nào cố gắng phá vỡ nó và khi nào không.

+0

Tôi nghĩ bạn có thể dễ dàng phát hiện ra vì sợ rằng các triệu chứng (script/activeX bị vô hiệu hóa), ít nhất * sau * yêu cầu đầu tiên. Tôi không nghĩ đây là lỗi. –

1

JavaScript không bị tắt khi sử dụng cấu hình bảo mật nâng cao?

Sau đó, nếu bạn chỉ muốn hiển thị một tin nhắn cho người dùng, chỉ cần hiển thị một tin nhắn trong html bình thường và ẩn nó bằng javascript để chỉ những người dùng không có javascript mới thấy được. Nếu bạn cần xử lý nó ở phía máy chủ (ví dụ: xuất ra một phiên bản khác của trang web của bạn), chỉ cần bao gồm javascript để chuyển hướng người dùng đến phiên bản đã bật javascript của bạn. Người dùng không có javascript sẽ vẫn ở trên trang không phải js.

Nếu chỉ activex kịch bản bị vô hiệu hóa, cùng một phương pháp áp dụng, bạn chỉ cần chèn một activeX và cố gắng "kịch bản" nó, nếu nó không thành công, bạn có thể chuyển hướng, cho thấy một thông điệp, vv

Trên đây tất nhiên doesn' t phát hiện cấu hình bảo mật nâng cao cho mỗi se, nhưng symptons xảy ra khi nó được kích hoạt. Vì vậy, có thể sẽ không thể phân biệt giữa những người dùng có sử dụng cấu hình bảo mật nâng cao và người dùng chỉ đơn giản là đã tắt JS/ActiveX hoặc sử dụng Trình duyệt không hỗ trợ tập lệnh ở địa điểm đầu tiên.

1

Thay vì kiểm tra trực tiếp cho IE ESC, chúng tôi có thể kiểm tra hiệu ứng của nó.

Tôi thấy rằng với ESC bật các sự kiện onclick của nội dung được thêm động sẽ không kích hoạt. Vì vậy, tôi trực tiếp kiểm tra những sự kiện đó.

var IEESCEnabled = true; 
 
var testButton = $("<button style=\"display: none;\" onclick=\"IEESCEnabled = false; alert('No problems here.');\">Test IE ESC</button>"); 
 
testButton.click(); 
 
if (IEESCEnabled) { 
 
    alert("We have a problem."); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Trong ứng dụng của tôi một bài kiểm tra như thế này sẽ chuyển người dùng đến một trang giải thích vấn đề của họ. Nó được đi kèm với một yếu tố noscript để kiểm tra xem họ có JavaScript chạy ở tất cả.