نمایش نتایج 1 تا 13 از 13

نام تاپیک: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

  1. #1
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    با سلام خدمت تمامی دوستان و اساتید گروه اکسس

    فکر کنم یکی از بزرگترین مشکلات برنامه نویسی اکسس بحث امنیته

    خوب تا به الان روش های زیادی برای این منظور ارائه شده که البته همه دارای نواقصی هستند.

    هدف این تاپیک اینه که تجربه ها رو جمع کنیم شاید چیزی از آب دربیاد

    البته پیشنهاد میکنم که خارج از باکس فکر کنیم


    امیدوارم دوستان و اساتید هم یاری کنند
    آخرین ویرایش به وسیله AbbasSediqi : دوشنبه 02 بهمن 1396 در 23:23 عصر

  2. #2
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

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

    فعلا در مرحله تئوریه

    امیدوارم با کمک دوستان و اساتید یا به طور کل رد بشه و یا به سرانجام برسه

    روش:

    به طور کلی اگر دیتابیس از فرم ها و کوئری ها جدابشه امنیت تا حدودی بهتر میشه

    خوب در این صورت باید فایل دیتابیس رو پسورد گذاری کنیم و در فایل فرم ها پسورد رو قرار بدیم تا بتونیم جدول ها رو فراخوانی کنیم

    مشکل این روش اینه که امکان دسترسی به فایل دیتابیس بعد از فراخوانی وجود داره(توضیح نمیدم چه طوری)

    و در بعضی موارد هم پسورد در فایل فرم ها رو میشه بدست آورد

    و اما روشی که بنده دارم روش فکر میکنم اینه که:

    اگر فراخوانی فایل دیتابیس رو با استفاده از service انجام بدیم چی؟

    پسورد در سرویس باشه و از طریق اون دیتا رو فرستاده و یا بگیریم

    خوب این کار رو در vba میشه با استفاده از ntservice انجام داد

    به نظر دوستان و اساتید ارزش وقت گذاری داره؟

  3. #3
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    برای اینکه نشه از سرویس همینطوری دیتا گرفت و یا فرستاد با استفاده از توکن token (که با استفاده از username و password ایجاد میشه) هر بار ، برای هر دستور لوگین کنیم

  4. #4
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    فایل ضمیمه نمونه ای از ایجاد سرویس با استفاده از vb6


    برای اجرا باید فایل SvSampleControl.exe رو run as administrator کنید و بعد سرویس رو install کنید و سرویس SampleVB6Service ایجاد میشه


    لطفا نظر و راهنمایی فراموش نشه


    ممنون
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    نقل قول نوشته شده توسط AbbasSediqi مشاهده تاپیک
    به طور کلی اگر دیتابیس از فرم ها و کوئری ها جدابشه امنیت تا حدودی بهتر میشه
    جدا کردن دیتا بعنوان backend و برنامه (فرم و گزارش و ماجول و ...) بعنوان frontend کاریست که حتما باید انجام بشه.
    صرفنظر از بحث امنیت، داستان پشتیبانی و نگهداری و آپگرید رو هم تا حد زیادی آسونتر میکنه بخصوص اگر در شبکه قرار هست استفاده بشه که دیگه الزامیست.
    البته همین امنیت هم دو جنبه داره:
    یکی اینکه دسترسی مستقیم کاربرها رو به دیتا ببیندیم تا نتونن دیتا کنترل نشده ثبت کنن؛ از روی عمد یا به اشتباه داده ها رو دستکاری و تخریب کنین و ...
    یک روی دیگه هم امنیت کد هست که اون هم یک بخشش همین امنیت دیتاست و بخش دیگه اش حفظ منافع برنامه نویس
    البته فکر کنم اینجا شما روی امنیت دیتا تاکید دارین اگر درست فهمیده باشم

    خوب در این صورت باید فایل دیتابیس رو پسورد گذاری کنیم و در فایل فرم ها پسورد رو قرار بدیم تا بتونیم جدول ها رو فراخوانی کنیم
    قطعا backend باید رمزگذاری بشه - البته در mdb بیهوده است اینکار ولی برای accdb بغیر از Brute-force راه دیگه ای برای پیدا کردن رمز نیست که اون هم برای رمزهای خیلی ساده و ضعیف تازه به احتمال کم هست.

    مشکل این روش اینه که امکان دسترسی به فایل دیتابیس بعد از فراخوانی وجود داره(توضیح نمیدم چه طوری)
    و در بعضی موارد هم پسورد در فایل فرم ها رو میشه بدست آورد
    مشخص نکردین این ریسک در چه حالتی هست؟ جداول به صورت دائمی لینک شده باشن یا در زمان اجرا بصورت دینامیک attach و در پایان برنامه detach بشن
    و یا اینکه با کانکشن به backend وصل شده باشیم
    همین جور مشخص نفرمودین که این ریسک فقط برای فایلهای mdb است یا شامل فایلهای accdb هم میشه
    بعنوان مثال:
    اگر backend با فرمت accdb و با پسورد قوی رمزگذاری شده باشه و frontend هم با فرمت accde باشه و جداول هم linked table باشن باز هم ریسک داریم یا نه؟
    و اگر پاسخ مثبت هست چه میزان؟

    اگر فراخوانی فایل دیتابیس رو با استفاده از service انجام بدیم چی؟
    پسورد در سرویس باشه و از طریق اون دیتا رو فرستاده و یا بگیریم
    خوب این کار رو در vba میشه با استفاده از ntservice انجام داد
    به نظر دوستان و اساتید ارزش وقت گذاری داره؟
    من البته نظر شخصی خودم رو با اجازه تون مطرح میکنم و این ممکنه واقعا درست نباشه از نظر فنی،
    بطور کلی اکسس رو بخاطر سادگی و سریع به جواب رسیدن دوست دارم. یکجورایی پیچیده کردن کار با اون رو نمیپسندم - عرض کردم نظر شخصی هست این.
    شخصا ترجیح میدم بجای استفاده از windows service از sql server برای backend استفاده کنم.

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    نقل قول نوشته شده توسط AbbasSediqi مشاهده تاپیک
    برای اینکه نشه از سرویس همینطوری دیتا گرفت و یا فرستاد با استفاده از توکن token (که با استفاده از username و password ایجاد میشه) هر بار ، برای هر دستور لوگین کنیم
    استفاده از token در سرویس (اعم از سرویس وب یا ویندوز) وقتی که پای امنیت در میون هست که صددرصد الزامیست.
    جدای نظر شخصی که پست قبلی نوشتم، دو مورد برای من جای پرسش هست:
    1- چرا vb6 که یک تکنولوژی مرده است به جای دات نت؟ البته شاید فقط در این مثال پیوست که گذاشتین از vb6 استفاده کردین.
    2- بنظر میاد مشکل پرفورمنس هم داشته باشیم به دلیل اینکه برای هر درخواست باید authentication انجام بدیم.

  7. #7

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    .................................................. ......

  8. #8
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    با سلام خدمت دوست و استاد گرامی Mazoolagh

    در خصوص

    مشکل این روش اینه که امکان دسترسی به فایل دیتابیس بعد از فراخوانی وجود داره(توضیح نمیدم چه طوری)
    مشخص نکردین این ریسک در چه حالتی هست؟ جداول به صورت دائمی لینک شده باشن یا در زمان اجرا بصورت دینامیک attach و در پایان برنامه detach بشن
    و یا اینکه با کانکشن به backend وصل شده باشیم
    همین جور مشخص نفرمودین که این ریسک فقط برای فایلهای mdb است یا شامل فایلهای accdb هم میشه
    بعنوان مثال:
    اگر backend با فرمت accdb و با پسورد قوی رمزگذاری شده باشه و frontend هم با فرمت accde باشه و جداول هم linked table باشن باز هم ریسک داریم یا نه؟
    و اگر پاسخ مثبت هست چه میزان؟
    باید خدمت شما عرض کنم اگر به صورت عادی ( منظورم استفاده از ado نیست ) بعلت باز شدن یک پروسس جدید توسط اکسس میشه از طریق processor بهش دسترسی پیدا کرد



    در خصوص این مطلب هم

    من البته نظر شخصی خودم رو با اجازه تون مطرح میکنم و این ممکنه واقعا درست نباشه از نظر فنی،
    بطور کلی اکسس رو بخاطر سادگی و سریع به جواب رسیدن دوست دارم. یکجورایی پیچیده کردن کار با اون رو نمیپسندم - عرض کردم نظر شخصی هست این.
    شخصا ترجیح میدم بجای استفاده از windows service از sql server برای backend استفاده کنم.
    بنده این روش رو بر این منظور پیشنهاد کردم که

    1) اکثر دوستان از sqlserver به عنوان backend استفاده نمیکنند

    2) در صورت لوکال بودن برنامه استفاده از sqlserver با حجم ram , Cpu که استفاده میکنه بسته به نوع برنامه ممکنه منطقی نباشه

    3) در صورت استفاده از این روش حتی اگر فایل فرم ها رو به صورت باز و بدون هیچ امنیتی قرار بدیم ، برنامه امنیتش حفظ میشه( نظر بنده است )




    فرض رو بر این بگیریم که برنامه نوشته شد با این روش و در اون هیچ table و یا link table قرار داده نشده و تنها فرم login اقدام به token کردن میکنه

    و این رو برای هر درخواست به سرویس اعلام میکنه و سرویس در صورت تشخیص صحیح بودن username و Password به درخواست جواب بده و

    چهار عمل اصلی یعنی (add,edit,delete,select) رو به صورت فانکشنی در سرویس تعریف کنید ( یک بار برای همه برنامه)



    آیا امنیت ارتقا پیدا نمیکنه؟

    خوب در این صورت در برنامه نویسی راحتی به دنبال نداره؟

    امکان تغییر برنامه چه کوچ کردن برنامه به طور کل از access به زبان برنامه نویسی دات نت و یا چه گوچ از دیتابیس access به sql به راحتی انجام نمیشه؟

    آیا در صورت آنلاین و یا شبکه بودن برنامه هم سرویس قدرت عمل کرد بهتری نداره؟

    چک کردن اتصال به عنوان نمونه به صورت مجزا؟

    در صورت استفاده از sqlserver چی ایا باز همون چهار عمل اصلی رو با حفظ امنیت بهتر و کارا تر انجام نمیده؟

    آیا نمیشه سوریس رو به عنوان پلی مجزا برای ارتباط با دیتابیس ( هر نوعی ، access ،sqlserver ، mysql و ...) در نظر گرفت ؟

    درصورت قرار دادن دستورات sql برای چهار عمل اصلی در سرویس امکان پیدا کردن نام دیتابیس ها هم بسیارکم میشه این طور نیست؟


    و اما درخصوص

    1- چرا vb6 که یک تکنولوژی مرده است به جای دات نت؟ البته شاید فقط در این مثال پیوست که گذاشتین از vb6 استفاده کردین.
    2- بنظر میاد مشکل پرفورمنس هم داشته باشیم به دلیل اینکه برای هر درخواست باید authentication انجام بدیم.
    بله با زبان های دیگه هم میشه این کار رو انجام داد این نمونه صرفا به این جهت ارائه شد چون دوستانی که با اکسس کار میکنن به vb6 و یا vba آشنا ترن تا vb.net , C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ ,C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ ,c


    ممنون میشم باز اگر نظرتون رو بفرمایید


    برای دوری از هرگونه ابهامی این رو برای دوستان عرض میکنم ( البته نه به شما جناب mazoolagh)


    این تاپیک صرفا جهت ارائه روش و بررسی کارایی و یا عدم کارایی روش پیشنهادی رو داره

    بحث و گفتگو و پرسیدن سوال و جواب گرفتن و حصول نتیجه ای منطقی هدف این تاپیکه


    باز هم تشکر میکنم از جناب mazoolagh که نظرشون رو گفتن وکمک کردن












    و اما سوال آخر:
    جناب mazoolagh شما روش دیگری رو دارید؟


    آیا امکان به اشتراک گذاشتن روش برای شا مقدوره؟
    آخرین ویرایش به وسیله AbbasSediqi : پنج شنبه 05 بهمن 1396 در 23:43 عصر

  9. #9
    کاربر دائمی آواتار Mehr@ban
    تاریخ عضویت
    آبان 1389
    محل زندگی
    بچه محله امام رضا
    پست
    562

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    سلام بر دو استاد عزیز و گرامی که در اکثر موارد در کنار بنده و دیگر رفقای آماتور تالار بودن و راهنمایی های لازم رو داشتن.

    الغرض از ارسال این پست در این تاپیک این بود که به دلیل تخصصی بودن موضوع مورد بحث از اظهار نظر کردن عاجزم، ولیکن مشتاقانه پیگیر این مبحث هستم.
    امیدوارم تا این تاپیک هم مثل باقی تاپیکهای تخصصی به سرانجام برسه.

  10. #10
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    جناب mazoolagh شما روش دیگری رو دارید؟
    آیا امکان به اشتراک گذاشتن روش برای شا مقدوره؟
    روش متعارف من همین بود که عرض کردم:
    فایل backend با پسورد قوی بصورت linked table و فرمت accdb
    فایل frontend به فرمت accde و بستن shift
    اتفاقا برای همین هم بود که میخواستم نظر شما رو در این مورد بدونم - چون تا بحال مشکلی در رابطه با شکسته شدن پسورد backend یا لو رفتن کد و طراحی نداشتم.
    البته ممکنه از خوش شانسی من و کارفرماها باشه که هکری سراغ ما نیومده؛ حالا یا دیتا بی ارزش بوده یا کد یا هردو یا واقعا همینقدر محکم کاری کفایت میکنه ؛ نمیدونم.


    روش پیشنهادی شما قطعا ارزش کار و بررسی رو داره (نه فقط بخاطر امنیت، میتونه مزایای دیگه ای هم داشته باشه) - به همین خاطر پیشنهاد میکنم نمونه کاربردی تری از ویندوز سرویس (بجای نمونه فعلی) بگذارین که همین عملیات چهارگانه رو پوشش بده.

    من البته در مبحث امنیت دانشی ندارم و این رو بعهده دیگران میگذارم ولی مشتاقانه منتظر نمونه میمونم (هم برای یادگیری و هم احتمالا گذاشتن اون در بوته آزمایش های سخت)

  11. #11
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    جهت یادآوری

  12. #12
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    733

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    ...............................
    آخرین ویرایش به وسیله eb_1345 : جمعه 04 بهمن 1398 در 21:18 عصر

  13. #13
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    733

    نقل قول: بررسی و ایجاد روشی جدید برای محافظت برنامه تحت اکسس

    .....................



    آخرین ویرایش به وسیله eb_1345 : جمعه 04 بهمن 1398 در 21:17 عصر

تاپیک های مشابه

  1. ایجاد بخشی جدید برای برنامه نویسی به زبان پاسکال
    نوشته شده توسط black phoenix در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 0
    آخرین پست: پنج شنبه 28 مهر 1390, 23:08 عصر
  2. ايجاد فايل Config براي اجراي برنامه در يك شبكه
    نوشته شده توسط سيد مجتبي هاشمي در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: پنج شنبه 03 اردیبهشت 1388, 15:57 عصر
  3. سوال: ایجاد mask جدید برای textbox
    نوشته شده توسط niloofar norouzi در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 31 شهریور 1387, 14:15 عصر
  4. ایجاد شکلی دلخواه برای exe برنامه
    نوشته شده توسط saber4166 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 03 مرداد 1387, 15:44 عصر
  5. ایجاد تالار جدید برای Visual C#‎.Net 2005
    نوشته شده توسط amir_3530 در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 04 آذر 1385, 17:11 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •