Bạn nên cung cấp một số bối cảnh nhiều hơn cho câu hỏi của bạn. Tôi sẽ cố gắng giúp bạn mặc dù đề xuất một cách để làm điều này.
Bạn đã đề cập bạn muốn không cho phép người dùng đăng nhập, vì vậy tôi nghĩ cách tốt nhất để làm điều này là đặt mã xác thực vào trang đăng nhập dưới dạng javascript bao gồm. Xin lưu ý vì tập lệnh được thực thi trên máy khách, không có gì đảm bảo rằng nó sẽ thực sự thực thi và người dùng chuyên gia có thể phá vỡ "sự bảo vệ" của bạn bằng cách, ví dụ: vô hiệu hóa tập lệnh. Nhưng nếu bạn đang ở trong một mạng nội bộ và thường tin tưởng người dùng của bạn, nó không phải là một vấn đề lớn.
Để tìm hiểu cách sử dụng Perfidies, tôi khuyên bạn nên xem tệp sau mà bạn sẽ có thể thay đổi theo nhu cầu của bạn (không được kiểm tra!). https://github.com/ozten/Perfidies-of-the-Web/blob/master/plugincheck_ui.js
Chức năng chính để gọi có vẻ là Pfs.findPluginInfos(Pfs.UI.navInfo, browserPlugins, incrementalCallbackFn, finishedCallbackFn)
. Trong incrementalCallbackFn
bạn nhận được tất cả các plugin dễ bị tổn thương. Nếu có, bạn có thể chuyển hướng trình duyệt đến trang của bạn.
Xem trang được tham chiếu để xem cách điền các thông số chức năng khác.
Về triển khai, tôi sẽ cho phép một số cách bỏ qua xác minh này, bởi vì luôn có những trường hợp bạn muốn cho phép truy cập đặc biệt. Nếu sếp của bạn cần báo cáo trong 5 phút bạn không muốn nói với anh ta rằng anh ấy phải cập nhật phiên bản java của mình trước, chỉ vì có bản cập nhật ngày hôm qua mà có lẽ thậm chí chưa được khai thác.
Vì vậy, có thể hiển thị một cảnh báo đỏ lớn cho người dùng cố gắng truy cập trang web, nhưng cung cấp cho họ một cách để bỏ qua các cảnh báo nếu họ chọn để ...
Tôi sợ câu hỏi đó có lẽ là ra khỏi phạm vi cho ở đây: bạn đã quyết định về kiểm soát bảo mật mà bạn muốn triển khai (quyết định tồi tệ, nhưng điều đó không liên quan đến câu hỏi của bạn :-) và bây giờ chỉ cần phân loại các chi tiết về sự tấn công tẻ nhạt. Một trong những trao đổi ngăn xếp cho các nhà phát triển web sẽ có thể cung cấp cho bạn trợ giúp tốt hơn nhiều. –
Nhận xét của @ GrahamHill đúng một phần. Chi tiết triển khai và cách mã hóa, có thể tốt hơn trên ví dụ: SO (giả sử đủ phổ biến rằng có đủ các lập trình viên khác đã triển khai nó). Tuy nhiên, viên đạn thứ ba của bạn chắc chắn là chủ đề ở đây - những mối quan tâm khác cần tính đến. – AviD
Tôi đã gắn cờ nó để di chuyển đến Stackoverflow. @ GrahamHill Nếu bạn đặt câu hỏi về việc sử dụng của tôi, vui lòng [bình luận về câu trả lời này] (http://security.stackexchange.com/a/12039/396).Tôi muốn được nghe những suy nghĩ của bạn – LamonteCristo