PDA

View Full Version : سوال: جلوگیری از تغییرات روی پوشه خاصی در برنامه



systam
یک شنبه 17 شهریور 1392, 16:33 عصر
سلام
یک برنامه بایگانی عکس برای عکاسی
نحوه ذخیره اطلاعات مسیر در بانک فایل مورد نظر هم در پوشه ای در برنامه
حالا مشکل ما اینه چیکار کنیم که نشه تغییرات روی پوشه و محتویات پوشه انجام
یک دو نمونه کد در توی سایت بود که اگه طرف یکم حرفه ای باشه به راحتی میتونه باز کنه پوشه رو
خیلی توی نت گشتم یک نمونه کد توی سایت codeproject اونم کار راه انداز نبود
و این پوشه فقط و فقط توسط برنامه قایل دسترسی باشه


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

دوستان ممنون میشم راهنماییم کنید

systam
پنج شنبه 28 شهریور 1392, 16:25 عصر
از دوستان کسی نیست راهنمایی کنید

ROSTAM2
یک شنبه 31 شهریور 1392, 11:03 صبح
با سلام
ابتدا اگر پوشه ناشناس باشه که حرفه ای و غیر حرفه ای برای پیدا کردنش باید از خود برنامه نویس کمک بگیرن! :لبخند:
یه سرویس فعال روی سیستم هم می تونه برای مدیریت این پوشه کمک خوبی باشه!

ehsanvb
یک شنبه 31 شهریور 1392, 12:59 عصر
ابتدا اگر پوشه ناشناس باشه که حرفه ای و غیر حرفه ای برای پیدا کردنش باید از خود برنامه نویس کمک بگیرن!


میشه اینو که گفتید توضیح بدید؟

biyarjomandi
یک شنبه 31 شهریور 1392, 14:06 عصر
سلام . این موضوع مربوط میشه به تنظیمات امنیتی ویندوز نه برنامه شما . البته راه های هست برای قفل کردن پوشه که کمی پیچیده و گاه کمی راحته ولی از طرق کد نویسی بهترین و امن ترین راه برای این کاره که البته باید کدهایی رو که مربوط به API ویندوز هست گیر بیاری که من دقیقا نم دونم ولی از طریق نت در APIها دنبال جواب سوالت بگرد . با نرم افزار های ساخت ست آپ هم میشه تا حدی این کارو کرد که بد نیست نگاهی هم به اونا داشته باشی . زحمت جستجو و پیدا کردنش با خودت باشه .

Omid.R.A.Candy
یک شنبه 31 شهریور 1392, 20:38 عصر
من خودم هم دنبال همچنین چیزی هستم ولی نرفتم دنبالش تو sql2008 همچین امکانی به طرف میده.

ehsanvb
دوشنبه 01 مهر 1392, 12:15 عصر
دوستان من به یک مقاله در این خصوص برخوردم که خیلی جالبه اگه بشه عملیش کرد ولی هرچی گشتم نتونستم مثالی ازش پیدا کنم اگه کسی بتونه کمک کنه ممنون میشم:
http://bigboxdotir.wordpress.com/2008/04/27/%D8%B3%DB%8C%D8%A7%D8%B3%D8%AA-%D8%A7%D9%85%D9%86%DB%8C%D8%AA%DB%8C-%D9%85%D9%86%D8%A7%D8%B3%D8%A8-%D8%AF%D8%B1-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C/

البته چون فیلتره این صفحه، من خلاصه مطلب رو که نویسنده اخرش گذاشته رو اینجا میذارم:
بطور خلاصه : شما یک فولدر رو در سرویس دهنده Share می کنید ، یک User و یا Account در ویندوز سرور برای استفاده اختصاصی برنامه خودتون ایجاد می کنید ، و سپس حق دسترسی به فولدر مذبور رو فقط به همین User میدین.در انتها کافیه که از طریق Impersonation کاری بکنید که برنامه جوری اجرا بشه که انگار اون User برنامه رو اجرا کرده! قابل ذکره که کاربر استفاده کننده از برنامه لازم نیست که Username و Password اون اکانت رو بدونه و حتی لازم نیست روی برنامه شما در ایستگاه کاری رایت کلیک بکنه و گزینه Run As User را انتخاب بکنه بلکه همه اینکارها براحتی از داخل کد انجام میشه! بهمین سادگی
در نتیجه شما برنامه ای دارید که وقتی اجرا میشه ، انگار بعنوان کاربری از کاربرای ممتاز سرویس دهنده اجرا میشه و در نتیجه فقط برنامه شما به اون فولدرها دسترسی داره و نه هیچ کاربر و یا برنامه دیگه!

Omid.R.A.Candy
دوشنبه 01 مهر 1392, 23:05 عصر
دوستان من به یک مقاله در این خصوص برخوردم که خیلی جالبه اگه بشه عملیش کرد ولی هرچی گشتم نتونستم مثالی ازش پیدا کنم اگه کسی بتونه کمک کنه ممنون میشم:
http://bigboxdotir.wordpress.com/2008/04/27/%D8%B3%DB%8C%D8%A7%D8%B3%D8%AA-%D8%A7%D9%85%D9%86%DB%8C%D8%AA%DB%8C-%D9%85%D9%86%D8%A7%D8%B3%D8%A8-%D8%AF%D8%B1-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C/

البته چون فیلتره این صفحه، من خلاصه مطلب رو که نویسنده اخرش گذاشته رو اینجا میذارم:
بطور خلاصه : شما یک فولدر رو در سرویس دهنده Share می کنید ، یک User و یا Account در ویندوز سرور برای استفاده اختصاصی برنامه خودتون ایجاد می کنید ، و سپس حق دسترسی به فولدر مذبور رو فقط به همین User میدین.در انتها کافیه که از طریق Impersonation کاری بکنید که برنامه جوری اجرا بشه که انگار اون User برنامه رو اجرا کرده! قابل ذکره که کاربر استفاده کننده از برنامه لازم نیست که Username و Password اون اکانت رو بدونه و حتی لازم نیست روی برنامه شما در ایستگاه کاری رایت کلیک بکنه و گزینه Run As User را انتخاب بکنه بلکه همه اینکارها براحتی از داخل کد انجام میشه! بهمین سادگی
در نتیجه شما برنامه ای دارید که وقتی اجرا میشه ، انگار بعنوان کاربری از کاربرای ممتاز سرویس دهنده اجرا میشه و در نتیجه فقط برنامه شما به اون فولدرها دسترسی داره و نه هیچ کاربر و یا برنامه دیگه!

اگه شما خودتون این کار رو کردین می تونید مراحل این کارو با یه قطعه فیلم کوچک یا یه نمونه برنامه به من یاد بدین؟

ehsanvb
سه شنبه 02 مهر 1392, 10:09 صبح
ولی هرچی گشتم نتونستم مثالی ازش پیدا کنم اگه کسی بتونه کمک کنه ممنون میشم:

اگه تونسته بودم که اینجا سوال نمیکردم جوابش رو میذاشتم بقیه استفاده کنند.

بابا اساتید یه نگاهی به دور و برتون بندازید :لبخند:

Omid.R.A.Candy
سه شنبه 02 مهر 1392, 10:44 صبح
اگه تونسته بودم که اینجا سوال نمیکردم جوابش رو میذاشتم بقیه استفاده کنند.

بابا اساتید یه نگاهی به دور و برتون بندازید :لبخند:

بابا اساتید (بقول دوستمون)

پس کجایین؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!

ehsanvb
چهارشنبه 29 آبان 1392, 08:09 صبح
دوستان من به یک مقاله در این خصوص برخوردم که خیلی جالبه اگه بشه عملیش کرد ولی هرچی گشتم نتونستم مثالی ازش پیدا کنم اگه کسی بتونه کمک کنه ممنون میشم:
http://bigboxdotir.wordpress.com/2008/04/27/%D8%B3%DB%8C%D8%A7%D8%B3%D8%AA-%D8%A7%D9%85%D9%86%DB%8C%D8%AA%DB%8C-%D9%85%D9%86%D8%A7%D8%B3%D8%A8-%D8%AF%D8%B1-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C/

البته چون فیلتره این صفحه، من خلاصه مطلب رو که نویسنده اخرش گذاشته رو اینجا میذارم:
بطور خلاصه : شما یک فولدر رو در سرویس دهنده Share می کنید ، یک User و یا Account در ویندوز سرور برای استفاده اختصاصی برنامه خودتون ایجاد می کنید ، و سپس حق دسترسی به فولدر مذبور رو فقط به همین User میدین.در انتها کافیه که از طریق Impersonation کاری بکنید که برنامه جوری اجرا بشه که انگار اون User برنامه رو اجرا کرده! قابل ذکره که کاربر استفاده کننده از برنامه لازم نیست که Username و Password اون اکانت رو بدونه و حتی لازم نیست روی برنامه شما در ایستگاه کاری رایت کلیک بکنه و گزینه Run As User را انتخاب بکنه بلکه همه اینکارها براحتی از داخل کد انجام میشه! بهمین سادگی
در نتیجه شما برنامه ای دارید که وقتی اجرا میشه ، انگار بعنوان کاربری از کاربرای ممتاز سرویس دهنده اجرا میشه و در نتیجه فقط برنامه شما به اون فولدرها دسترسی داره و نه هیچ کاربر و یا برنامه دیگه!

بالاخره بعد از مدتها تونستم عملیش کنم : :لبخندساده:

لینک آموزشش رو هم میذارم برای دوستانی که با جستجو به اینجا رسیدن

امیدوارم بدردشون بخوره :

http://barnamenevis.org/showthread.php?428050-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%A8%D9%87-%DB%8C%DA%A9-%D9%BE%D9%88%D8%B4%D9%87-%D8%B4%DB%8C%D8%B1-%D8%B4%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A8%D8%A7-%DB%8C%D9%88%D8%B2%D8%B1%DB%8C-%D9%85%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%A8%D8%A7%D8%A2%D9%86%DA%86%D9%87-%D8%A8%D9%87-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-%D9%88%D8%A7%D8%B1%D8%AF%D8%B4%D8%AF%DB%8C%D8%AF(i mpersonate-a-user)&p=1915406&viewfull=1#post1915406