如何为PrimeFaces资源隐藏“ln”和“v”实现/版本相关参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为PrimeFaces资源隐藏“ln”和“v”实现/版本相关参数相关的知识,希望对你有一定的参考价值。
我在我的应用程序中使用primefaces和primefaces-extensions。对于.css和.js文件等每个资源,在该资源的GET请求中还有一个“ln”和“v”查询参数,如下所示:
primefaces-extensions.js?ln=primefaces-extension&v=6.1
validation.js?ln=primefaces&v=6.1
作为安全问题,由于这些参数显示了我正在使用的框架的确切版本,我该如何隐藏它们?
答案
隐藏'ln'是没用的,因为只需很少的努力,你就可以从javascript文件和页面源获得相同的信息('PF()到处都是)
然而,'v'是一个稍微不同的问题。如果您使用未修改的PF源,隐藏它也是没用的,因为只需很少的努力(创建哈希),可能的黑客可以下载您的源,创建哈希并将生成的哈希与他们可以轻松创建的词典进行比较现有PrimeFaces源,然后知道您使用的版本。因此,这里唯一要做的就是修改源代码,通过稍微修改(添加空格应该有帮助),使其不会出现“已知或可比较”的哈希值。
但是,如果您确实希望该版本不显示,您可以下载PrimeFaces源并将版本信息替换为一些模拟编号并构建该自定义版本。请记住,如果您不对源进行任何更改,上面提到的字典查找仍然有效。所以这只是黑客的一些小麻烦。
以上是关于如何为PrimeFaces资源隐藏“ln”和“v”实现/版本相关参数的主要内容,如果未能解决你的问题,请参考以下文章