エスケープ文字やユーザー入力のサニタイズに関する多くのフォーラム(およびスタックオーバーフロー)の記事を読んだことがありますが、それをすべてまとめてAndroidプラットフォームに固有のものにしたいと思います。私の状況は次のとおりです。
SOAP XMLメッセージを使ってWebサービスと通信するAndroidアプリがあります。送信される可能性のあるXMLメッセージのサンプルを示します(SOAPエンベロープを外しています)。
user entered text
user entered text
ご覧のとおり、ユーザーはこのフォームにテキストを入力してこのメッセージに挿入してWebサービスに送信できる2つの場所があります。私はする必要があります:
A)有効なXMLと
B)悪質なSQLコンテンツが含まれていないことを確認します。
Are there any pre-included utilities in the Android API to escape invalid xml chars (such as &) that the user may have entered? (So that I can simply say "escapeXML(xmlstring);" or something like that)
悪意のあるSQL(または他のコードインジェクション)をチェックする方法はありますか、それはサーバー側で処理する必要がありますか?
副題として:私はほとんどの場合、ユーザがA-Z、0-9と基本的な句読点を入力できるだけであることを望んでいます(時には見えない、または解釈されない奇妙なユニコード文字を避けるため)。ユーザーの入力を文字のサブセットに制限する良い方法はありますか?
私はこれが1つに組み込まれたカップルの質問であることを知っているので、もしあなたがその一部を知っていれば、とにかく答えを提供してください。すべての助けを前もってありがとう! (StackOverflowは、私があまりにも多くのフォーラムスレッドを消費したときに私が来るところであり、自分の状況に適したものについて私自身がすべて捻挫した)