PDA

View Full Version : حرفه ای: جلوگیری از تغییر نام ، حذف ، باز کردن یک فایل



m.4.r.m
پنج شنبه 18 خرداد 1391, 11:57 صبح
سلام دوستان

تو ویژوال بیسیک راهی هست که بشه مثله فایل Sas ویندوز به کاربر اجازه نداد که هیچ کدوم از کار های باز کردن حذف و تغییر مسیر و تغییر نام رو اجام بده ؟ یه بار بحث شد اما جواب نداد اگه میشه کسی بلده یا توضیح بده یا یه راهنمایی کامل بکنه ممنون

just4froum
پنج شنبه 18 خرداد 1391, 12:41 عصر
اگر درست منظورتو متوجه شده باشم .

Open "Your File Path" For Binary Lock Read Write As 1

m.4.r.m
پنج شنبه 18 خرداد 1391, 14:44 عصر
منظورم فایل تکست نیست میتونه بانک اطلاعاتی هم باشه

arenaw
پنج شنبه 18 خرداد 1391, 15:01 عصر
خب این کد داره فایل رو binary باز میکنه اصلا مهم نیست نوع فایل چی باشه
البته برنامه هایی هم هستند که فایل هایی که با این روش قفل (باز) شده باشند رو از حالت lock در بیارند (مثل unlocker)
ولی اگه بخواید تمام فایل های موجود در هارد با پسوند مشخص رو lock کنید باید اول با کد سرچ لیست تمامشونو پیدا کنید و سپس همرو اینجوری باز کنید
البته فایل ها تا زمانی قفل هستند که برنامه بسته نشده باشه یا دستور close اجرا نشده باشه
(در حد اطلاعات خودم گفتم)

just4froum
پنج شنبه 18 خرداد 1391, 15:39 عصر
ولی اگه بخواید تمام فایل های موجود در هارد با پسوند مشخص رو lock کنید باید اول با کد سرچ لیست تمامشونو پیدا کنید و سپس همرو اینجوری باز کنید


ولی بدی این روش اینه که بیشتر از 512 تا فایل رو نمیشه با یه برنامه قفل کرد آخه vb6 کلا 512 تا فایل رو میتونه همزمان باز کنه.
اگر یخواهید بیشتر از 512 تا فایل رو قفل کنید وضع یکم پیچیده تر میشه و باید به روش های ابتکاری دست بزنید.

مثلا 2 تا برنامه بنویسید یکی فایل هارو پیدا کنه و با Sendmessage بفرسته به برنامه دوم برنامه دوم هم فایل هارو قفل کنه اگر هم از 512 تا فایل بیشتر شد برنامه اول برنامه دوم رو دوباره اجرا کنه و با همین روش برای هر 512 تا فایل باید برنامه دوم دوباره اجرا بشه.
(میشه یکی از روش هاش این باشه)

m.4.r.m
پنج شنبه 18 خرداد 1391, 18:20 عصر
من می خوام بانک اطلاعاتیمو مثلا SQL یا Access کاربر نتونه نه بازش کنه ! نه تغییر نام بده ، نه بتونه پاکش کنه همین

moharam1370
پنج شنبه 18 خرداد 1391, 19:45 عصر
سلام

فقط باید از توابع api استفاده کنی ، که کسی هم در این مورد اطلاع نداره .

m.4.r.m
پنج شنبه 18 خرداد 1391, 22:30 عصر
واقعا اطلاعاتی در این زمینه کسی نداره ؟

محسن واژدی
جمعه 19 خرداد 1391, 08:00 صبح
تو ویژوال بیسیک راهی هست که بشه مثله فایل Sas ویندوز به کاربر اجازه نداد که هیچ کدوم از کار های باز کردن حذف و تغییر مسیر و تغییر نام رو اجام بده ؟ یه بار بحث شد اما جواب نداد اگه میشه کسی بلده یا توضیح بده یا یه راهنمایی کامل بکنه ممنون فایل هایی مثل SAMLOG توسط System استفاده میشن، طبیعتا" هم نمیتوان System را terminate کرد و به طبع آن این فایل های هم همچنان قفل شده هستند، حتما" باید فایل قفل باشه، خب چرا بانک را رمزی نمیکنید (البته اگر رمزی نشده) برای امنیت رمز هم میتوان از Office2007 به بالا استفاده کرد،
سلام

فقط باید از توابع api استفاده کنی ،

سلام
نیاز به اطلاعات خاصی نیست، چند توابع api وجود دارد که آن نیز همانند Openبرای باز کردن فایل (یا لاک کردن) و تنظیم دسترسی های فایل مورد استفاده قرار میگیرد،
که کسی هم در این مورد اطلاع نداره . عجب! :)

بهروز عباسی
جمعه 19 خرداد 1391, 10:28 صبح
دوست عزیز اگه درست متوجه شده باشم شما می خوای روی دیتابیس برنامت کاری انجام بدی که کاربر نتونه مستقیم اونو تغییر بده
دوستان بازکردن اونو توسط توابع کار با فایلو پیشنهاد کردن که در این صورت اگه فایل باز بشه و هندلش به برنامه ای که اونو باز کرده داده بشه فکر نکم برنامه اصلی بتونه ازش استفاده کنه.
و راه دیگه ای هم که گفته شد رمز گذاری کردن روی فایل دیتابیس شما بود که اگه دیتابیس اطلاعات مهمی داشته باشه و طرف شما هم کمی ... باشه میتونه رمز و پیدا کنه.

نظر من:

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

m.4.r.m
جمعه 19 خرداد 1391, 12:47 عصر
ممنونم از نظرات دوستان نتیجه میگیریم باید از ویژوال بیسیک مهاجرت کنیم . مرسی

بهروز عباسی
جمعه 19 خرداد 1391, 12:56 عصر
ممنونم از نظرات دوستان نتیجه میگیریم باید از ویژوال بیسیک مهاجرت کنیم . مرسی

اگه بتونی مهاجرت کنی که خیلی بهتره البته بستگی به حرفه شما در برنامه نویسی داره مثلاً اگه برنامه های دیتابیسی و از این قبیل رو می نویسید دلفی خوبه
اما اگه برنامه های ساده تر و با پردازش داده کمتر می نویسید ویژوال بیسیک هم پاسخ گو هستش

m.4.r.m
جمعه 19 خرداد 1391, 13:44 عصر
نه عزیز خود VB.net از دلفی هم بهتره . ویژوال بیسیک تو اینجور چیزا کم میاره

بهروز عباسی
جمعه 19 خرداد 1391, 20:49 عصر
نه عزیز خود VB.net از دلفی هم بهتره . ویژوال بیسیک تو اینجور چیزا کم میاره

شرمنده فکر کردم vb6 رو می گی
نظر من به خاطر علاقه خودم به nativecode بود و اینکه رابطه خوبی با .NET ندارم

موفق باشی.