2017-11-28 15 views
-2

私は数日間、ajax呼び出しから戻ってくる脆弱なJavaスクリプト変数を修正する方法を見つけています。XSS - Ajax呼び出しの戻り文字列がjspのJavaスクリプト変数に割り当てられます

public String getDefaultCopyName(HttpServletRequest request, HttpServletResponse response, 
    Long serviceGroupId) { 
    MeoOptimizationSet set = service.find(serviceGroupId); 
    String name = set.getName() + getCopySuffix(); 
    return name; 
´} 

    var defaultName = ''; 
    $.ajax({ 
    url: "<c:url value='/MeoOptimizationSet-getDefaultCopyName.mvc'/>", 
    data: { serviceGroupId: selectedIds[0] }, 
    success: function(data) {<b> defaultName = data</b>}, 
    async: false 
    }); 

    APP.confirm({ 
    msg: "<br>"+label + "<br><br><input type='text' id='newName' size='40' 
    value='" + <b> defaultName </br> + "' />", 
    ok: function() { 
    //TODO 
    }); 
    } 
    } 
+0

まず、質問の書式設定を行います。 – BRjava

+0

'async:false'は非難されています。とにかくそれが必要な理由がわかりません。リクエスト中にブラウザのUIをロックするだけで、ユーザーエクスペリエンスが悪くなります。削除することができます。これはあなたの問題に関連するものではなく、単なる一般的な点です。 – ADyson

+0

あなたの例も明確ではありません。 'success:function(data){defaultName = data}'は有効なjavascriptではないので、構文エラーが発生します。あなたの例を修正して、問題が何であるかを説明し、ajax呼び出しから何が返されているのかを説明し、「脆弱である」と考えられるのはなぜですか? – ADyson

答えて

0

私questingはちょうど私が、コントローラのメソッドがJSPajax呼び出し元メソッドにいくつかの値を返すJSPからJavaコントローラへのAJAX呼び出しを知ってほしいと私は変数のjavaスクリプトに値を代入しています、非常に簡単です

var defaultName = ''; 
    $.ajax({ 
     url: "/abc.mvc", 
     data: { id: 1001}, 
     success: function (data) { 
     defaultName = data 
    } 
    }); 

クロスサイトスクリプティング(XSS)からdafalutNameの割り当てを保護するにはどうすればよいですか?

関連する問題