2015-06-23 20 views
17

Chúng tôi có trang web SSL nơi máy chủ lưu trữ gần đây đã tắt các giao thức SSL cũ hơn như TLS 1.0 trở xuống. Tùy thuộc vào trình duyệt, khách truy cập trang web nhận được một trang trống hoặc một thông báo lỗi khó hiểu khi họ truy cập trang web nếu trình duyệt họ đang sử dụng không hỗ trợ ít nhất TLS 1.1.Phát hiện khả năng tương thích TLS của trình duyệt

Tôi đã hy vọng tạo trang đích không có trên cổng SSL và nơi tôi có thể phát hiện khả năng trình duyệt nếu nó hỗ trợ TLS 1.1 trở lên. Nếu không thì tôi muốn cho họ thấy một thông điệp thân thiện để nâng cấp trình duyệt của họ hoặc sử dụng một trình duyệt khác.

Đây có phải là thứ có thể thực hiện được bằng thư viện javascript phía máy khách không? Nếu có, thì tôi nên sử dụng cái gì.

Cảm ơn.

+0

Tôi không nghĩ rằng bạn có thể phát hiện nó trực tiếp với JS, nhưng bạn có thể thử sử dụng ajax đến các trang khác nhau cho máy chủ của bạn sử dụng các giao thức khác nhau. – Oriol

+0

Vì vậy, làm cách nào để bạn thông báo cho người dùng trình duyệt cũ rằng trình duyệt của họ không được trang web hỗ trợ nữa? – Aamir

+0

Điều đó thật dễ dàng: chỉ cần chèn một số html vào tài liệu hoặc tạo ra một số 'cảnh báo' hoặc một cái gì đó tương tự. Phần khó khăn là phát hiện sự hỗ trợ TLS. – Oriol

Trả lời

25

Bạn có thể sử dụng the API được cung cấp bởi How's my SSL?.

Trong ví dụ sau, tôi kiểm tra tls_version. Kiểm tra given_cipher_suites cũng có thể là một ý tưởng hay.

<script> 
 
window.parseTLSinfo = function(data) { 
 
    var version = data.tls_version.split(' '); 
 
    console.log(
 
    version[0] != 'TLS' || version[1] < 1.2 
 
    ? 'So bad! Your browser only supports ' + data.tls_version + '. Please upgrade to a browser with TLS 1.2 support.' 
 
    : 'All OK. Your browser supports ' + data.tls_version + '.' 
 
); 
 
    console.log(data); 
 
}; 
 
</script> 
 
<script src="https://www.howsmyssl.com/a/check?callback=parseTLSinfo"></script>

+1

Chính xác điều tôi đang tìm kiếm! Cảm ơn rất nhiều! – Aamir

+0

Một điều đáng buồn là nó không phải là một thư viện js tôi có thể tải về tại địa phương. Tôi không biết anh ấy giữ API bao lâu cho chúng tôi. – Aamir

+0

@Aamir "SSL của tôi thế nào" là phần mềm nguồn mở và có thể được tìm thấy trên [GitHub] (https://github.com/jmhodges/howsmyssl). – Oriol

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