Restful-security

提供:Dev Guides
移動先:案内検索

RESTful Webサービス-セキュリティ

RESTful WebサービスはHTTP URLパスと連携するため、Webサイトが保護されるのと同じ方法でRESTful Webサービスを保護することが非常に重要です。

以下は、RESTful Webサービスを設計する際に従うべきベストプラクティスです-

  • 検証-サーバー上のすべての入力を検証します。 サーバーをSQLまたはNoSQLインジェクション攻撃から保護します。
  • セッションベース認証-Webサービスメソッドにリクエストが行われるたびに、セッションベース認証を使用してユーザーを認証します。
  • * URLに機密データはありません*-URLでユーザー名、パスワード、またはセッショントークンを使用しないでください。これらの値はPOSTメソッドを介してWebサービスに渡す必要があります。
  • メソッド実行の制限-GET、POST、DELETEメソッドなどのメソッドの使用制限を許可します。 GETメソッドはデータを削除できません。
  • 不正な形式のXML/JSONの検証-Webサービスメソッドに渡された整形式の入力を確認します。
  • 一般的なエラーメッセージをスロー-Webサービスメソッドは、403などのHTTPエラーメッセージを使用してアクセス禁止などを表示する必要があります。

HTTPコード

Sr.No. HTTP Code & Description
1

200

  • OK* -成功を示します。
2

201

  • CREATED* -POSTまたはPUT要求を使用してリソースが正常に作成されたとき。 ロケーションヘッダーを使用して、新しく作成されたリソースへのリンクを返します。
3

204

  • NO CONTENT* -応答本文が空の場合。 たとえば、DELETE要求。
4

304

  • NOT MODIFIED* -条件付きGET要求の場合にネットワーク帯域幅の使用を削減するために使用されます。 応答本文は空でなければなりません。 ヘッダーには日付、場所などが必要です。
5

400

  • BAD REQUEST* -無効な入力が提供されることを示します。 たとえば、検証エラー、データの欠落。
6

401

  • UNAUTHORIZED* -ユーザーが無効または間違った認証トークンを使用していることを示します。
7

403

  • FORBIDDEN* -ユーザーは使用中のメソッドにアクセスできないことを示します。 たとえば、管理者権限のない削除アクセス。
8

404

  • NOT FOUND* -メソッドが利用できないことを示します。
9

409

  • CONFLICT* -メソッドの実行中の競合状況を示します。 たとえば、重複エントリを追加します。
10

500

  • INTERNAL SERVER ERROR* -メソッドの実行中にサーバーが何らかの例外をスローしたことを示します。