0

したがって、誰かがこのacceptヘッダーを送信した場合:

*/*'"!@$^*\/:;.,?{}[]`~-_<sCrIpT>alert(81363)</sCrIpT>

ジャージーを使用した応答で返されます。これを傍受して逃げる必要があります。私はこれを行う方法を見つけていません。何か助けはありますか?

4

2 に答える 2

1

フィルタを使用してリクエストをインターセプトし、サービスクラスに到達する前にクリーンアップを実行できます。このを確認してください。

于 2012-09-29T17:56:40.267 に答える
0

この方法でリクエストヘッダーを読み取り、レスポンスヘッダーを変更できます(リクエストヘッダーを変更することはできません。読み取り専用のマップです)。

@Context HttpHeaders headers;

@Path("yourPath")
public Response yourMethod(){
    List<String> accept = headers.getRequestHeader(HttpHeaders.ACCEPT);
    if ( accept contains invalid characters)) {
        do something    
    }
    //If you set a null value, the header is deleted. 
    //Anyway, deletion is useless, if you have not yet set 
    // the Accept header on the response.
    return  Response.ok().header(HttpHeaders.ACCEPT, null).build();
}
于 2012-09-28T21:41:11.303 に答える