2017-12-12 10 views
-2

私はいくつかの古いプロジェクトを維持しています。いくつかのツールでコードの品質をスキャンすると、コードには、私が解決する必要がある多くのクロスサイトスクリプティングの問題があることがわかります。問題の1つは以下の通りです。Javaでのクロスサイトスクリプティングの削除

public class Tester1 { 

    public void doRecurrssion(JspWriter out, MyDTO dto){ 

     out.print("<table"); 
     out.print("<tr>"); 
     out.print("<td width='30><font face='Arial, Helvetica'>"+dto.getFirstName()+"</font><td>\n"); 
     out.print("<td width='30><font face='Arial, Helvetica'>"+dto.getLastName()+"</font><td>\n"); 
     out.print("</tr>"); 
     out.print("</table>"); 
    } 
} 

私は上記のコードでは第三&第四「out.print」文のクロスサイトスクリプティングの問題を取得しています。それを解決するには?

答えて

0

生の値(例えば、戻り値はgetFirstName())を受け取り、そのままHTMLページに含めるので、このツールは抗議していると思います。あなたがOWASP Java Encoderライブラリを使用することにより、例えば値を、エンコードHTMLでXSS身を守る場合

ほとんどの警告が消えます。

out.print("<td width='30><font face='Arial, Helvetica'>" 
    + Encode.forHtml(dto.getFirstName()) + "</font><td>\n"); 
out.print("<td width='30><font face='Arial, Helvetica'>" 
    + Encode.forHtml(dto.getLastName()) + "</font><td>\n"); 
+1

ありがとうございました!あなたのソリューションは完全に機能しました。 – AbhiN

+0

以下のhtmlコード '<%= myForm.getName()%>' – AbhiN

+0

@AbhishekNaswaleの場合、どのように動作するのでしょうか?@AbhishekNaswale:ドキュメントにはいくつかの例があります(https://www.owasp.org/index。 php/OWASP_Java_Encoder_Project#tab = Java_Encoder_Projectを使用します)。 – Henrik

関連する問題