Вы должны предоставить больше некоторый контекст на ваш вопрос. Я постараюсь помочь вам, хотя и предлагает способ сделать это.
Вы упомянули, что хотите запретить пользователям входить в систему, поэтому я считаю, что лучший способ сделать это - поместить код проверки на страницу входа в систему как включаемый javascript. Имейте в виду, так как сценарий выполняется на клиенте, нет никакой гарантии, что он действительно выполнится, и пользователь-специалист может обойти вашу «защиту», например, отключение сценариев. Но если вы находитесь в интрасети и обычно доверяете своим пользователям, это не должно быть большой проблемой.
Чтобы узнать, как использовать Perfidies, я рекомендую вам посмотреть следующий файл, который вы сможете изменить на свои нужды (не тестировалось!). https://github.com/ozten/Perfidies-of-the-Web/blob/master/plugincheck_ui.js
Основная функция вызова - Pfs.findPluginInfos(Pfs.UI.navInfo, browserPlugins, incrementalCallbackFn, finishedCallbackFn)
. В incrementalCallbackFn
вы получаете все уязвимые плагины. Если он существует, вы можете перенаправить браузер на свою страницу.
См. Справочную страницу, чтобы узнать, как заполнить другие функциональные параметры.
Что касается развертывания, я бы допустил некоторый способ пропустить эту проверку, потому что всегда есть случаи, когда вы хотите разрешить исключительный доступ. Если вашему боссу нужен отчет за 5 минут, вы не хотите сказать ему, что он должен сначала обновить свою версию Java, только потому, что вчера было обновление, которое, вероятно, еще не используется.
Так что, возможно показать большое красное предупреждение для пользователей, пытающихся получить доступ к странице, но дать им возможность игнорировать предупреждение, если они хотят ...
Я боюсь, что вопрос, возможно, выходит за рамки здесь: вы уже приняли решение о контроле безопасности, который вы хотите реализовать (решил плохо, но это не относится к вашему вопросу :-), и теперь вам просто нужно разобраться с утомительной информацией о внедрении. Один из стековых обменов для веб-разработчиков сможет дать вам гораздо лучшую помощь. –
@ Комментарий GrahamHill частично верен. Детали реализации и способы ее кодирования могут быть лучше напр. SO (при условии достаточной популярности, что есть достаточно других программистов, которые его реализовали). Тем не менее, ваша третья пуля определенно по теме здесь - другие проблемы, которые нужно учитывать. – AviD
Я пометил его, чтобы перейти в Stackoverflow. @GrahamHill Если вы спросите мое использование этого, пожалуйста, [прокомментируйте этот ответ] (http://security.stackexchange.com/a/12039/396).Мне было бы интересно услышать ваши мысли – LamonteCristo