jsp、サーブレット、Beanをmysqlデータベースで使用します。フォームフィールドにユーザーが入力した文字を制限することは望ましくありません。だから私はどのように入力を害虫駆除し、悪意のある活動のために出力が変更されないようにするか。余分なコードが送信されているかどうかを確認できる出力を送信する途中ですか?検索入力フィールドがあるとします。ユーザーは<script>alert("I am here")</script>
のようなものを与えます。私はこれがhtmlタグであることがわかっています。ユーザーがリンクフィールドに余分なパラメータを追加した場合、追加のリンクフィールドが存在することを文書で確認するために、前後のチェックのように表示されます。Java Webアプリケーションでの入力のサニタイズ方法
20
A
答えて
5
ユーザー入力や無効な文字を含む可能性のあるデータベースなどのソースから取得したデータの基本的なHTMLエスケープ処理は、常に行う必要があります。たとえば、<c:out>
JSPタグではこれが実行されます。こうすると、ユーザがあるフィールドに"<script> ..."
と入力し、再度印刷している場合は、"<script> ..."
としてHTMLに出力されます。
10
実際には、ユーザーができるだけ小さなHTMLやJavaScriptを入力できるようにしてください。このようなことを検証して消毒する良い解決策の1つは、OWASP AntiSamyのような既製のライブラリを使用することです。
また、開発者が安全なWebアプリケーションを構築するために必要なセキュリティメソッドのコレクションについては、OWASP Enterprise Security APIを参照してください。
5
jsoup
あなたにこれを手伝ってください。あなたが何をしても、正規表現や何かを使ってこれをハックしようとしないでください。なぜなら2つの問題があるからです。 jsoup
で:-)
、あなたが必要とするすべてのコードの短い抜粋です:
String safe = Jsoup.clean(unsafe, Whitelist.basic());
あなたがタグを追加し、私はそれが名前空間のタグをサポートしていない見つかったものの、比較的簡単にWhitelist
に属性をすることができます。
関連する問題
- 1. Javaでのデータベース入力のサニタイズ方法は?
- 2. golangの入力データのサニタイズ方法は?
- 3. ReactJSの入力サニタイズ
- 4. Tastypieサニタイズ入力?
- 5. サニタイズ入力$ _POST
- 6. .Net DbCommandサニタイズ入力
- 7. 角2入力のサニタイズ
- 8. pythonでシェル= Trueのサブプロセスのサニタイズ入力
- 9. Erlangの入力をサニタイズする方法は?
- 10. 郵送前にPHPでユーザ入力をサニタイズする方法は?
- 11. C#でユーザ入力をサニタイズする - 最もクリーンな方法?
- 12. mysqlなしでPHP入力をサニタイズする方法
- 13. 入力サニタイズVS検証
- 14. pingプログラムへのPHP入力のサニタイズ
- 15. ユーザー入力をlaravelでサニタイズする
- 16. Java Web Startでの入出力
- 17. Java Webアプリケーション:キャッシュテクニックの実装方法
- 18. Javaの入力方法ですか?
- 19. iPhoneのWebアプリケーション入力フィールド:絶対コンテナ
- 20. XSS攻撃 - サニタイズ入力vs拒否
- 21. 入力をサニタイズする.NETライブラリ?
- 22. @ Html.Textareaは入力をサニタイズしますか?
- 23. ユーザ入力をサニタイズするRails
- 24. Javaアプリケーションからオーディオ入力デバイスを作成する方法
- 25. Java Webアプリケーションをデプロイする方法
- 26. Javaでバイナリツリーを入力する方法
- 27. Javaの入力として定数を入力する方法
- 28. WebアプリケーションのJava
- 29. チェックボックスのサニタイズ方法は?
- 30. 外部プロセスへの入力をサニタイズする
あなたの質問の名前を「Javaで入力をサニタイズする方法」のようなものに名前を変更することを検討してください - あなたの質問のタイトルは、今後同様の回答を探している人には役立ちません... – razlebe
Whoa、質問にjavascriptを実行します!悪いstackoverflow、悪い! –
@robhruska:Nice find! – Adnan