0

私はWeb開発者であり、Web開発ではクライアント側とサーバー側の両方の検証を行うように教えています。 Androidプログラミングでは、クライアント側の検証を行い、Toastを使用してメッセージを表示しています。その後、ウェブサービスにデータを送信した後、ウェブサービスでデータを送信した後で、パスワードサービスのように(パスワードフィールドの最小文字数は6文字、英数字など)、それでも検証を行う必要があります。Android開発で入力パラメータのサーバーサイド(Webサービス)検証を行う必要はありますか?

Android開発での検証に関するベストプラクティスは何ですか?

+0

いいえ!必須ではありません.. – Ashish

答えて

5

はい、サーバー側から検証する必要があります。 なぜとなるのですか

クライアント側の検証は常にユーザーエクスペリエンス(UX)を向上させるという意味であり、フォームの値が単純でないために情報を送信したり再入力する必要はありません't valid - 物事をよりダイナミックにします。

サーバー側で検証しないと、ユーザーは何ができますか?データをどのように使用するかによって、何かが発生します。ユーザーはデータベース全体を削除(または悪化、漏洩)させたり、好きなものを変更したり(悪いことに、好きなものを読んで)、権限を昇格させることができます。このリスクを回避したいですか? ユーザー入力を検証していないことは、ユーザーを信頼し、自宅にロックをインストールしないことです。

0

はい、間違いなく!

あなたのアプリケーションと通信するために、Android以外の他のクライアントを追加するとします。次に、サーバー側のチェックによって、チェックが一貫していることを保証します。さもなければ、一貫性は達成するのがはるかに難しい。

例:追加のクライアントとしてウェブサイトを追加し(メッセンジャーのように)、クライアントサイドでJavaScriptを使用してチェックを追加します。ユーザーはJavaScriptを無効にしてゴミ箱に入れます。

別の例:iOSクライアントを追加します。パスワード要件は6文字から8文字に変更されます。サーバーサイドのチェックで、2つのクライアントを変更して配信する必要があります。あなたのWebサービスを更新するだけです。

あなたはより多くのクライアントのための安全を得る!

+1

ここでは、アンドロイドアプリの検証についての質問は、なぜjavascriptの無効化が画像になるのですか? – Manikanta

+0

多くの開発者が提供する、さらなるクライアントの例として。 –

+1

はい@thomas Bohmに同意します。アプリケーションが将来(ios、ウェブサイトなどのように)より多くのクライアントを持っている場合、シナリオを考えていますが、それがサーバー側の検証を行う理由の全体的な理由ではありません。 – Manikanta

関連する問題