2016-10-02 6 views
-2

私のアプリケーションはOracle ADFを使用して開発されています。私のフォームに<af:inputText>の入力フィールドを使用しています。ADF入力フィールドでHTMLコンテンツを回避する一般的な方法はありますか

ここでは、入力フィールドにHTMLコンテンツを表示しないようにする必要があります。フォーム入力フィールドでHTMLコンテンツを使用しないようにする方法はありますか?

+0

は、この検証に関連する問題では、ユーザーを防ぎたいですあなたのADF入力を介してサーバーにhtmlを送信することからですか? –

+0

@JalalSordoはい、私はクライアントからサーバーへのHTMLコンテンツを防ぐ必要があります。 – Awesome

+0

jsoupですべてのhtmlタグを削除するhttp://stackoverflow.com/questions/12943734/jsoup-strip-all-formatting-and-link-tags-keep-text-only – Kukeltje

答えて

0

OWASP#3 - それはデータベースに保存される前に、クロスサイトスクリプティング(XSS)

システムへのすべてのデータ入力を検証する必要があります。特に、アプリケーションのユーザーインターフェイスで後で再表示されるデータ入力は、クロスサイトスクリプティングのリスクをもたらします。

は、Oracle ADFに有効なデータ入力を強制するには、次の戦略

  1. リミットフリーテキスト入力フィールドの数を実装し、 選択の選択肢
  2. 検証より上のすべてのユーザー入力に置き換える必要があります1層よりも
  3. エスケープ出力データ

参考:http://www.oracle.com/technetwork/developer-tools/adf/adfowasptop10-final-2348304.pdf

0

これを行うには、inputTextにバリデーターを追加する方法があります。あなたはこのようなものを持っていますので:

<af:inputText ... validator="#{scope.beanName.methodName}".../> 

とのbeanNameではもちろん、あなたがバリデータメソッドを追加する必要があります

public void methodName(FacesContext pContext, UIComponent pComponent, Object pValue) { 
    String userInput = pValue.toString(); 
    if(containsHtml(userInput)) { 
    FacesMessage message = new FacesMessage(...); 
    throw new ValidationException(message); 
    } 
} 

public boolean containsHtml(String pUserInput) { ... your logic ... } 
関連する問題