آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

امنیت وب سرویس

Pouya Asgharnejad Tehran  7 سال پیش  7 سال پیش
+2 0

با سلام.

استاد در ویدئوی مربوط به بخش وب سرویس گفتند که برای استفاده اختصاصی خودمان از وب سرویس و اجازه ندادن به افراد دیگر برای استفاده از داده های وب سرویسمان، باید از کد ها و رمز های منحصر به فرد استفاده کنیم. مثلا نام پکیج اپلیکیشن اندروید را برای سایت بفرستیم و اطلاعات را فقط خودمان دریافت کنیم. یا برای مثال یک کد Encrypt شده برای وب سرویس بفرستیم و از داده های آن استفاده کنیم.

و اما مشکل من:

اطلاعات ( رمز و Hash ها ) باید بصورت پارامتر به سرور فرستاده بشوند. ارسال پارامتر هم به دو روش GET و POST صورت میگیرد. پس پارامتر ها یا در URL یا در بطن Request ارسال میشوند. به لطف ابزار های ردیابی URL، دیگر کار مشکلی نیست که URL و پارامتر ها کشف بشوند و سرویس ما عملا برای فرد " هکر و متجاوز " باز می شود.

مثال عملی:

مثلا نام پکیج اپلیکیشن اندروید من "com.example.app" هست و به آدرس "example.com/webservice/data/com.example.app/ojfgfd4og8hf5g2o" درخواست میفرستم ( عبارت "ojfgfd4og8hf5g2o" یک Hash جهت اطمینان بیشتر است )

خب حالا هکر ( حتی آماتور ) با استفاده از نرم افزار های ردیابی  ( که معرفی آنها کار صحیحی نیست )  آدرس را کشف کرده ( حتی پارامتر های POST ) و اینگونه وب سرویس ما توسط دیگران قابل استفاده میشود.

به نظر شما چگونه باید امنیت در وب سرویس را تا حد قابل قبولی افزایش داد؟

+1 0
دقیقا همینطور است ، برای رمزنگاری روی داده های ارسالی روش های زیادی هست . اما به هر حال هر کدوم به نوعی قابل هک شدن هستند ، بهتره علاوه بر اینکه URLرو امن میکنید باتی هم بنویسید که دسترسی های مشکوک رو مسدود کنه ، مثلا تعداد ریکوست های زیاد از سمت یک IP در زمان مشخص به معنی فعالیت باتی برای بدست آوردن اطلاعات شماست . (7 سال پیش)
0 0
صحبت شما درسته؛ ولی اصلا برای فرد متجاوز هیچ زحمت و سختی برای پیدا کردن آدرس وجود نداره و به راحتی هر چه تمام تر ( حتی از خود برنامه نویس webservise هم راحتر ) میتونه از اطلاعات استفاده کنه! (7 سال پیش)
+1 0
کشف URL مسئله مهمی نیست ، انکریپت شدن داده های ارسالی و ارسال کلید به شکلی که نشه هک کرد مهم هست . (7 سال پیش)
0 0
شما روشی مناسب برای Encrypt داده های JSON پیشنهاد میکنید؟ (7 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
alisherafat01  7 سال پیش
+5 0

چند نکته در مورد امنیت وب سرویس:

1- شما برای شناسایی کاربرتون یا همون Authentication نباید username و password کاربران رو به سرورتون ارسال کنید فقط لازمه که با هر درخاست یه token به صورت پارامتر  ارسال کنید که این token برای هر کاربر منحصر به فرد است و در دیتابیس سرور ذخیره شده و اینجوری میفهمید که چه کاربری داره به شما درخاست میده و دیگه کسی غیر از کاربران شما نمیتونه براتون مزاحمت ایجاد کنه.

2- برای امنیت در خصوص اطلاعات و پارامتر هایی که با سرور ردوبدل میکنید بهترین گزینه میتونه این باشه که گواهینامه SSL رو برای سایتتون تهیه کنید -- در این صورت اطلاعات به صورت رمز نگاری شده مبادله میشه


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .