بخش های اصلی

وب سرویس RESTful

وب سرویس های RESTful - امنیت (Security)

از آن جایی که وب سرویس ها با مسیرهای URLهایِ HTTP کار می کنن، خیلی مهمِ که از یک وب سرویسِ RESTful، به همان شیوه ای که یک وب سایت باید ایمن بشه، محافظت بشه. در ادامه بهترین شیوه هایی که هنگام طراحی وب سرویس های RESTful باید از آن ها پیروی کنین، آورده شده.

  • اعتبارسنجی تمام ورودی های سرور را اعتبار سنجی کنین. از سرور در مقابل حملاتِ تزریقیِ SQL یا غیرِ SQL محافظت کنین.
  • اهراز هویت مبتنی بر جلسه (Session) هر وقت که درخواستی برای یک متدِ وب سرویس ایجاد میشه، از جلسه ی (session) مبتنی بر اهراز هویت، برای اهراز هویت کاربر استفاده کنین.
  • اطلاعات در URL نباید حساس باشن هیچ وقت از نام کاربر، رمز عبور یا نشانه ی (token) در URL استفاده نکنین، این مقادیر باید توسط متدِ POST به وب سرویس، پاس داده بشن.
  • ایجاد محدودیت روی اجرای متد اجازه ی استفاده از متدهایی مثل GET, POST, DELETE را بصورت محدود شده بدین. متدِ GET، نباید بتواند اطلاعات را پاک کنه.
  • اعتبارسنجی XML/JSON ناهنجار بررسی کنین که اطلاعات ورودیِ پاس داده شده به متد وب سرویس به خوبی فرمت بندی شده باشن.
  • ایجاد پیام های خطای کلی یک متدِ وب سرویس باید از پیام های خطای HTTP، مثل 403 برای نشان دادن ممنوعیت دسترسی و ... استفاده کنه.

کدِ HTTP:

شماره

کدِ HTTP و توضیحات

1

200

OK، نشان دهنده ی موفقیت آمیز بودنِه.

2

201

CREATED (ایجاد شد)، وقتی که منبع با استفاده از درخواستِ PUT یا POST، بصورت موفقیت آمیز ایجاد شده باشه. با استفاده از سرآیندِ location، لینک را به منبعی (resource) که تازه ایجاد شده برمی گردانه.

3

204

NO CONTENT (بدون محتوا)، وقتی بدنه ی پاسخ خالیِه، برای مثال، درخواستِ DELETE.

4

304

NOT MODIFIED (بدون تغییر)، در مواردِ درخواست هایِ GET شرطی، برای کاهش استفاده از پهنای باند به کار میره. بدنه ی پاسخ، باید خالی باشه، سرآیندها باید تاریخ، مکان و ... داشته باشن.

5

400

BAD REQUEST، نشان میده که ورودی نامعتبری ارائه شده، برای مثال، خطای اعتبارسنجی و گم شدن اطلاعات.

6

401

UNAUTHORIZED، نشان میده که کاربر داره از نشانه ی (token) اهراز هویتِ اشتباه استفاده می کنه.

7

403

FORBIDDEN (ممنوعیت)، نشان میده که کاربر به متدی که مورد استفاده قرار گرفته، دسترسی نداره، برای مثال، حذف دسترسی بدون اجازه های مدیر

8

404

NOT FOUND (پیدا نشد)، نشان میده که متد موجود نیست.

9

409

CONFLICT (تداخل)، نشان دهنده ی تداخل وضعیت ها به هنگام اجرای متدهاست، برای مثال اضافه کردن ورودی تکرری.

10

500

INTERNAL SERVER ERROR (خطای داخلی سرور)، نشان میده که سرور هنگام اجرای متد با خطا مواجه شده.

مبحث آموزشی

وب سرویس RESTful

RESTful Web Services

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

تبلیغات

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد