Jsf “如何隐藏”;ln";及;v";PrimeFaces资源的实现/版本相关参数

Jsf “如何隐藏”;ln";及;v";PrimeFaces资源的实现/版本相关参数,jsf,primefaces,jsf-2,primefaces-extensions,Jsf,Primefaces,Jsf 2,Primefaces Extensions,我在应用程序中使用primefaces和primefaces扩展。对于每个资源,如.css和.js文件,在获取该资源的请求中还有一个“ln”和“v”查询参数,如下所示: primefaces-extensions.js?ln=primefaces-extension&v=6.1 validation.js?ln=primefaces&v=6.1 出于安全考虑,由于这些参数显示了我正在使用的框架的确切版本,我如何隐藏它们?隐藏“ln”是没有用的,因为只需非常小的努力,您就

我在应用程序中使用primefaces和primefaces扩展。对于每个资源,如.css和.js文件,在获取该资源的请求中还有一个“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源代码,用一些分散的数字替换版本信息,然后构建那个自定义版本。请记住,如果您没有对源代码进行任何更改,上面提到的字典查找仍然有效。所以这对黑客来说只是一个小小的不便。

你说的“创建散列”是什么意思?请你再解释一下好吗?哈希在“校验和”的意义上。。。这是由黑客完成的,目的是快速查看/检查所使用的内容。