PDA

View Full Version : سوال: مدیریت و امنیت فایلها در شبکه



ali190
جمعه 25 آذر 1390, 10:28 صبح
باسلام و عرض خسته نباشید خدمت همه عزیزان
بعد از کلی جستجو ونرسیدن به یک راه حل قطعی در زمینه یک روش امن برای به اشتراک گذاشتن فایلها در محیط شبکه تصمیم گرفتم این تایپیک رو ایجاد کنم و از تجربیات دوستان در این زمینه استفاده کنم.
من در حال نوشتن برنامه ای هستم که این برنامه قراره در محیط شبکه یک شرکت با 20 یوزر اجرا بشه (Workgroup) .
در این برنامه که عملکردی مشابه با نرم افزار اتوماسیون اداری داره کاربران ابتدا در برنامه ثبت نام میشوند.
بعد از ورود کاربران به برنامه با توجه به دسترسی که به هر کاربر داده شده (دسترسی ها در یک جدول در دیتابیس تعریف شده) میتوانند به برنامه فایل اضافه کنند ، فایل ویرایش کنند و فایل رو حدف کنند.
همچنین با توجه به همون دسترسی هایی که خدمتتون گفتم کاربران دیگه باید بتونن از این فایل ها که توسط سایرین افزوده شده استفاده کنند.
فرض کنیم قراره در این برنامه از فایلهایی با حجم بالا استفاده بشه (مثلاً 1.5 گیگ)
در اکثر تایپیکهایی که در این زمینه ایجاد شده بود متاسفانه یا فقط از روشها نام برده شده بود و یا مباحث نصفه و نیمه رها شده بود.
از دوستان خواهشمندم برای رفع ابهام از این موضوع در این تایپیک مشارکت کنند.
ممنون
یاعلی

ali190
جمعه 25 آذر 1390, 18:32 عصر
سلام
در حال حاضر از روش File Sharing استفاده میکنم که امنیتش وحشتناک پایینه
دوستان لطفاًراهنمایی کنند
ممنون
یاعلی

joker
جمعه 25 آذر 1390, 22:16 عصر
اگه امنيت كامل مد نظرت باشه ( نه فقط انتقال امن ) سيستمهاي تجاري واقعا خوبي براش هست ، منتها زير 5-6 ميليون پيدا نميكني اونم تازه براي فرمتهاي خاص ( محصولات ميكروسافت - محصولات ادوب - محصولات اتودسك )

ali190
جمعه 25 آذر 1390, 22:41 عصر
یعنی خود Dot Net برای این قضیه هیچ راهکاری نداره؟

ali190
شنبه 26 آذر 1390, 20:38 عصر
دوستان لطفاً کمکم کنید
کمک کمک

linux
شنبه 26 آذر 1390, 22:11 عصر
باسلام و عرض خسته نباشید خدمت همه عزیزان
بعد از کلی جستجو ونرسیدن به یک راه حل قطعی در زمینه یک روش امن برای به اشتراک گذاشتن فایلها در محیط شبکه تصمیم گرفتم این تایپیک رو ایجاد کنم و از تجربیات دوستان در این زمینه استفاده کنم.
من در حال نوشتن برنامه ای هستم که این برنامه قراره در محیط شبکه یک شرکت با 20 یوزر اجرا بشه (Workgroup) .
در این برنامه که عملکردی مشابه با نرم افزار اتوماسیون اداری داره کاربران ابتدا در برنامه ثبت نام میشوند.
بعد از ورود کاربران به برنامه با توجه به دسترسی که به هر کاربر داده شده (دسترسی ها در یک جدول در دیتابیس تعریف شده) میتوانند به برنامه فایل اضافه کنند ، فایل ویرایش کنند و فایل رو حدف کنند.
همچنین با توجه به همون دسترسی هایی که خدمتتون گفتم کاربران دیگه باید بتونن از این فایل ها که توسط سایرین افزوده شده استفاده کنند.
فرض کنیم قراره در این برنامه از فایلهایی با حجم بالا استفاده بشه (مثلاً 1.5 گیگ)
در اکثر تایپیکهایی که در این زمینه ایجاد شده بود متاسفانه یا فقط از روشها نام برده شده بود و یا مباحث نصفه و نیمه رها شده بود.
از دوستان خواهشمندم برای رفع ابهام از این موضوع در این تایپیک مشارکت کنند.
ممنون
یاعلی
خوب ftp را برای همین کارها درست کردند.
در ضمن می توانی در صورت نیاز ازsql server اسفاده کنی.

ali190
شنبه 26 آذر 1390, 22:30 عصر
سلام دوست من
من الان چند وقته شدیاً به دنبال ftp میگردم
هر چی میگردم کمتر ازش مطلب بدستم میاد
بلدم سرویس iis رو راه بندازم
ولی اینکه چطور درش یوزر تعریف کنم و بهشون دسترسی بدم و با برنامه ام بهش وصل بشم رو نمیدونم
خواهش میکنم کمکم کنید
راستین من میخوام برنامم رو در یک شبکه workgroup استفاده کنم
یاعلی

linux
شنبه 26 آذر 1390, 22:41 عصر
سلام دوست من
من الان چند وقته شدیاً به دنبال ftp میگردم
هر چی میگردم کمتر ازش مطلب بدستم میاد
بلدم سرویس iis رو راه بندازم
ولی اینکه چطور درش یوزر تعریف کنم و بهشون دسترسی بدم و با برنامه ام بهش وصل بشم رو نمیدونم
خواهش میکنم کمکم کنید
راستین من میخوام برنامم رو در یک شبکه workgroup استفاده کنم
یاعلی
ftp در ویندوز و با IIS راه اندازیش خیلی راحت هست ولی اکثرا در دادن دسترسی ها به مشکل بر می خورند چون تعریف کاربرش یا با active directory هست یا با خود ویندوز اگر چیز راحتری می خواهید فایل زیلا هست http://filezilla-project.org/ هم کلایتش را دانلود کنید هم سروش را ، راه اندازی سرویش بسیار آسان هست و تعریف دسترسی ها و کابران خیلی راحت هست.

ali190
شنبه 26 آذر 1390, 22:44 عصر
میشه یکم توضیح بدید
نسخه سرور و کلاینت یعنی چی؟
یعنی نسخه کلاینت رو باید در همه سیستم ها (کلاینت ها ) نصب کنم؟

linux
شنبه 26 آذر 1390, 23:02 عصر
میشه یکم توضیح بدید
نسخه سرور و کلاینت یعنی چی؟
یعنی نسخه کلاینت رو باید در همه سیستم ها (کلاینت ها ) نصب کنم؟

نسخه سرور وظیفه سرویس دادن را بر عهده دارد، نسخه کلایت هم در سمت کاربر نصب می شود، چون ftp یک پروتکل هست که توسط IE و explorer ویندوز پشتیبانی می شود می توانید نسخه کلاینت هم نصب نکنید.

ali190
شنبه 26 آذر 1390, 23:10 عصر
بعد از نصب Filezilla server چه کاری باید انجام بدم؟
من در واقع میخوام فقط یک یوزر با دسترسی فول در ftp تعریف کنم
بعد میخوام کاربرم رو در برنامه از طریق دسترسی هایی که خودم توسط کدنویسی بهش میدم کنترل کنم
بعد از نصب filezilla نسخه سرور تنظیمات رو چگونه انجام دهم؟
راستی من نمیخوام نسخه کلاینتها رو بر روی سیستم کلاینتهام نصب کنم چون اصلاً توجیه نداره
ممنون میشم توضیح بدید
یاعلی

zarrinnegar
شنبه 26 آذر 1390, 23:20 عصر
ببخشید من هنوز سوال رو خوب نگرفتم

تا اونجایی که من فهمیدم یه سری کاربر توی شبکه workgroup دارن کار میکنن
این یعنی به اشتراک گذاری فایل ها برای تبادل آن ، یعنی نمیتونی جلوی کپی و تغییرات رو بگیری یعنی اگر هم بشه باید به تعداد کاربرات توی ویندوزی که به اصطلاح سرورت هستن user,pass بسازی و چون همه کاربرات به اون سیستم دسترسی دارن
پس نتیجه میگیریم اگه 1 user,pass هم داشته باشی فرق نمیکنه ( این برای folder sharing هست )

حالا بگذریم
مسئله امنیت رو نگفتی یعنی چی؟
کپی نکنن؟ پاک نکنن ؟ حذف نکنن؟
هر کی فایلهایی رو که گذاشته بتونه ویرایش کنه؟ بقیه فایلها رو نتونه؟

این امنیت رو میشه بیشتر توضیح بدی که چی میخوای

بعدش فایلها توی پوشه ذخیره میشن یا بانک اطلاعات؟

یه سوال دیگه وقتی فایلهای 1/5 گیگ داره هی رد و بدل میشه سرعت شبکت چطوریه؟؟؟؟ راه حلی برای این هم داشتی؟
دانلود و آپلود کردنش مشکل نیست؟ حتی توی شبکه لوکال ؟ آخه یه همچین فایلی رو هارد به هرد هم که میکنی یه چند دقیقه طول میکشه

ali190
شنبه 26 آذر 1390, 23:34 عصر
سلام
ببنید گفتم امنیت برام مهمه
من برای اینکار در حال حاصر دارم از سیستم file sharing خود ویندوز استفاده میکنم که امنیتش تعطیله
به خاطر همین ضعف امنیتیش هست که قیدش رو زدم
ببنیند:
من میخوام در ftp یک یوزر با دسترسی فول ایجاد کنم
یعنی در ابتدا همه کاربرام میتونن به همه فایل ها با هر نوع عملی که میخوان انجام بدن دسترسی داشته باشن
یعنی من در winapp ام زمانیکه میخوام به ftp کانکت بشم با داشتن یوزر نیم و پسورد در کدنوسیسم به اطلاعات دسترسی دارم
حالا زمانیکه کاربرام رو در دیتابیس ثبت نام میکنم اونجا براشون دسترسی تعریف میکنم
مثلاً میگم ahmad نتونه هیچ فایلی رو DELETE کنه
در واقع یوزر Ahmad مانند سایر یوزرها میتونه فایلها رو delete کنه اما زمانیکه به محیط برنامه وارد شد و هویتش توسط برنامه تشخیص داده شد و از اونجایی که پشت دکمه حذف برنامه با یک کد if ساده گفته شده اگر یوزر وارد شده به برنامه ahmad هست نتونه فایلی رو حذف کنه ، پس ahmad زمانیکه روی دکمه del کلیک میکنه درخواستش توسط برنامه block میشه
امیدوارم منظورم رو درست رسونده باشم
ممنون
یاعلی

zarrinnegar
شنبه 26 آذر 1390, 23:49 عصر
خوب حالا نحوه پرمیشن دادن به کاربر رو میخوای؟




بعدش فایلها توی پوشه ذخیره میشن یا بانک اطلاعات؟

یه سوال دیگه وقتی فایلهای 1/5 گیگ داره هی رد و بدل میشه سرعت شبکت چطوریه؟؟؟؟ راه حلی برای این هم داشتی؟
دانلود و آپلود کردنش مشکل نیست؟ حتی توی شبکه لوکال ؟ آخه یه همچین فایلی رو هارد به هرد هم که میکنی یه چند دقیقه طول میکشه


میشه اینها رو هم جواب بدی لطفا

ali190
شنبه 26 آذر 1390, 23:57 عصر
من میخوام فایلهام در پوشه دخیره شن

اما در مورد فایلهای حجم بالا:
در file sharing که مشکلی نداشتم
سرعت خوب بوذ
ولی ftp رو نمدونم
الان میخوام بدونم:
1- چطور یک یوزر با تمام دسترسی تعریف کنم
2-چطور میتونم با win app خودم در پوشه ftp فایل آپلود کنم و چطور میونم ازش فایل دانلود کنم؟
ممنون میشم توضیح بدید
خیلی خیلی ممنونم
یاعلی

zarrinnegar
یک شنبه 27 آذر 1390, 00:17 صبح
خوب اگه بخوای توی پوشه کپی کنی

File.Copy("c:\\test.avi", "\\server\folder");


برای دانلود همینو برعکس کن

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

zarrinnegar
یک شنبه 27 آذر 1390, 01:03 صبح
79347

این رو امتحان کن خوب بدردت میخوره
customize ش کردم میتونی بیشتر روش کار کنی از نظر UI

ali190
یک شنبه 27 آذر 1390, 14:32 عصر
سلام
براي دانلود و آپلود فايلها مشكلي ندارم
منتها ميخوام مستقيمآً به فايلهاي FTP دسترسي داشته باشم
مثلاً فرض كنيد ميخوام آدرس يك عكس در Picture Box رو مستقيماً به عكسي كه در FTP‌ وجود داره بدم و Picture Box عكس رو مستقيماً از FTP بخونه.
در اين صورت آدرس عكس موجود چي ميشه؟
آيا اين كار بايد بعد از Login شدن انجام بشه؟
ممنون ميشم راهتماييم كنيد.
ياعلي

ali190
یک شنبه 27 آذر 1390, 19:30 عصر
دوستان لطفاً راهنمایی بفرمائید

linux
یک شنبه 27 آذر 1390, 19:42 عصر
دوستان لطفاً راهنمایی بفرمائید


هر سری مساله را پیچیده تر می کنید، فایل به اشتراک گذاشتن یک حرفی هست و اینکه فایل ها ویرایش شود یک بحث دیگر لابد دنبال این هست که چی اصلاح شده و هر کی چقدر تغییرات داده؟! این شد svn.

دقیقا می توانی بگویی که چه سیستمی می خواهی طراحی کنید و چه کار خواهد کرد این سیستم

ali190
یک شنبه 27 آذر 1390, 22:15 عصر
سلام
:قهقهه:
حق باشماست ، یه مقدار زیاده روی کردم
سئوالم رو تغییر میدم
آدرس یا لینک دسترسی به یک فایل در FTP چگونه است ،
چطور میتونم بین FTP و دیتابیس ارتباط برقرار کنم؟
مثلاً فرض کنید یک گرید دارم
میخوام لیست تمام فایلهای مجود در پوشهFTP ام رو تو گریدم داشته باشم و رو هر فایل که کلیک مکنم به آدرسش دسترسی داشته باشم
در واقع میخوام زمانیکه توسط opendiablog فایل رو انتخاب کنم و فایل در FTP آپلود بشه ، ضمناً نام فایل به همراه آدریس در FTP تو دیتابیس ذخیره بشه و از این آدرس در دسترسی های دیگه استفاده کنم
ممنون میشم راهنماییم کنید
یاعلی

zarrinnegar
یک شنبه 27 آذر 1390, 22:40 عصر
ادرس ftp یعنی چی ؟ آدرس همون آدرس سرور هست مثلا server\\myfolder

اگر میخوای اطلاعات فایل رو توی گرید داشته باشی باید زمانی که فایل رو آپلود میکنی قبلش یه رکورد توی دیتابیس ایجاد کنی که نام فایل رو ذخیره کنه
دستورش رو هم میتونی از همون فایلی که برات فرستادم و یکی یکی کپی میکه برداری و از همون حلقه استفاده کنی و نام فایلهارو توش بزاری
بعدش هم وقتی توی گرید نمایش میدی و کسی روی رکورد کلیک کرد پنجره savefiledialog رو همراه با نام فایل نمایش بدی و آدرس فولدرت که ثابته اسم انتخاب شده رو بهش میدی


string filepathname = "\\server\myfolder\\"+datagrid.currentrow.celles["filename"].value.tostring();
savefiledialog.filename=filepathname;
if (savefiledialog.showdialog()==dialogresult.ok)
file.copy(filepathname,savefiledialog.filename);

ali190
یک شنبه 27 آذر 1390, 23:04 عصر
سلام
نام سرور من هست :server1
اسم پوشه ای که درش فایلها قرار میگیره هست : mn
آدرس فایلی که در ftp هست : ftp://ali@mediapc/test.txt یوزرنیمی هست که من باهاش login شده بودم
ali در واقع نام یوزری هست که باهاش login کرده بودم
این چیزی که سما آدرس دادید فکر کنم زمانی جواب میده که پوشه myfolder حتماً باید Share شده باشه
به هرحال زمانیکه این آدرس "server\myfolder\a.pdf\\" رو میزنم ارور دریافت میکنم که چنین مسیری وجود نداره
ممنون میشم راهنماییم کنید
یاعلی

zarrinnegar
یک شنبه 27 آذر 1390, 23:19 عصر
من چند تا لینک و یه سری کد میزارم باقیش با خودت برای فارسی کردن ظاهر و غیره
امیدوارم بدردت بخوره

http://msdn.microsoft.com/en-us/library/ms229715.aspx

http://www.codeproject.com/KB/IP/SimpleFTPDemo.aspx

http://www.techrepublic.com/blog/howdoi/how-do-i-use-c-to-upload-and-download-files-from-an-ftp-server/165

linux
دوشنبه 28 آذر 1390, 00:00 صبح
سلام
:قهقهه:
حق باشماست ، یه مقدار زیاده روی کردم
سئوالم رو تغییر میدم
آدرس یا لینک دسترسی به یک فایل در FTP چگونه است ،
چطور میتونم بین FTP و دیتابیس ارتباط برقرار کنم؟
مثلاً فرض کنید یک گرید دارم
میخوام لیست تمام فایلهای مجود در پوشهFTP ام رو تو گریدم داشته باشم و رو هر فایل که کلیک مکنم به آدرسش دسترسی داشته باشم
در واقع میخوام زمانیکه توسط opendiablog فایل رو انتخاب کنم و فایل در FTP آپلود بشه ، ضمناً نام فایل به همراه آدریس در FTP تو دیتابیس ذخیره بشه و از این آدرس در دسترسی های دیگه استفاده کنم
ممنون میشم راهنماییم کنید
یاعلی
ارتباط با ftp خیلی پیچیده نیست و یکی دوتا ابزار آماده هست مثل این http://ftplib.codeplex.com/ اگر بگردید بازهم پیدا می کنید.
کار کردن با این ابزار خیلی راحت هست.
شما فایلها را نیز می توانید در sqlserver ذخیره کنید، مشکلی پیش نخواهد آمد.