2016-04-15 15 views
2

vaadinのバージョン(v = 7.6.2)をページソースで非表示にする方法はありますか?また、デフォルトディレクトリ "VAADIN"を他のディレクトリに変更することも、名前を変更することもできますか?Vaadinのバージョンを非表示にすることは可能ですか

enter image description here

+1

セキュリティ上の理由から、私は同意します。あなたは常に最新バージョンを実行している必要があります。しかし、あなたが数日後。 –

答えて

1

私はそれは、サーバーとクライアント側でいくつかのフレームワーククラスにハードコードされているため、VAADINディレクトリ名を取り除くことは不可能だと思います。例:com.vaadin.server.BootstrapHandler、com.vaadin.server.VaadinServletおよびcom.vaadin.client.ui.ui.UIConnector

1

技術的には、Vaadinのバージョンを非表示にすることができます。必要なのは、しかし作業を停止する必要があり、この工程適用後サーブレットセッション

public class ApplicationBootstrapListener implements BootstrapListener { 

    @Override 
    public void modifyBootstrapFragment(BootstrapFragmentResponse response) { 
     List<Node> nodes = response.getFragmentNodes(); 
     for (Node node : nodes) { 
      if (node.toString() 
        .contains("js?v=")) { 
       String fakeVersion = node.attr("src") 
             .replace("7.5.8", "1.1.1"); 
       node.attributes() 
        .put("src", fakeVersion); 
      } 
     } 
    } 

    @Override 
    public void modifyBootstrapPage(BootstrapPageResponse response) { 
    } 
} 

    //somewhere in servletInitialized() 
getService().addSessionInitListener(event -> event.getSession() 
         .addBootstrapListener(
           new ApplicationBootstrapListener())); 

の開始時にBootstrapListenerを登録することです。あなたが名前を変更したので、VaadinはvaadinBootstrap.jsを見つけることができないからです。このJavaScriptの内容をコピーしてパブリックフォルダのどこかに入れ、必要な偽名に名前を変更する必要があります(私の場合はvaadinBootstrap.js?v=1.1.1

2番目の質問については、

関連する問題