如何隐藏" ln"和" v" PrimeFaces资源的实现/版本相关参数

时间:2017-11-20 13:24:27

标签: jsf primefaces jsf-2 primefaces-extensions

我在我的应用程序中使用primefaces和primefaces-extensions。对于.css和.js文件等每一个资源,还有一个" ln"和" v"查询该资源的GET请求中的参数,如下所示:

primefaces-extensions.js?ln=primefaces-extension&v=6.1   
validation.js?ln=primefaces&v=6.1

Snapshot of example request in Firefox developer console

出于安全考虑,由于这些参数显示了我使用的框架的确切版本,我该如何隐藏它们?

1 个答案:

答案 0 :(得分:2)

隐藏' ln'因为只需要很少的努力,你就可以从javascript文件和页面源获得相同的信息(' PF()到处都是)

' v'但是问题略有不同。如果您使用未修改的PF源,隐藏它也是没用的,因为只需很少的努力(创建哈希),可能的黑客可以下载您的源,创建哈希并将生成的哈希与他们可以轻松创建的词典进行比较现有PrimeFaces源,然后知道您使用的版本。因此,这里唯一要做的就是修改源代码,使其不会出现“已知或类似”的情况。通过稍微修改来进行哈希(添加空格应该已经有所帮助)。

但是如果你真的想要显示版本,你可以下载PrimeFaces源代码并用一些模拟数字替换版本信息并构建该自定义版本。请记住,如果您未对源进行任何更改,则上述字典查找仍然有效。所以这对黑客来说只是一些小小的不便。