# پایگاه‌های داده > SQL Server > امنیت در SQL Server >  چگونه از داده های دیتا بیس در برابر کاربران موزی محافظت کنیم

## محمد ذبیحی نژاد

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

برنامه من با SQL Express ویژوال ساخته شده
دیتا بیس هم در مسیر برنامه است

با تشکر

----------


## محمد ذبیحی نژاد

چشمم به این تاپیک خشک شد بلکه یکی یک کلامی بگه حتی در حد ....

----------


## pafshin

> چشمم به این تاپیک خشک شد بلکه یکی یک کلامی بگه حتی در حد ....




دوست عزیز منم دنبال این موضوع هستم  من بخاطر اینکه ویژوال 2008 به بالا تو ساخت ستاپ دیتابیس sql مشکل داشتن مدت چند ماه بود با 2008 کار میکردم بالاخره فهمیدم sql روش نمیشه رمز گذاشت مگر اینکه داده ها رو رمز نگااری کنی که اینم فقط توی برخی داده ها کاربرد داره مثلا نمیتونی اطلاعات یک شرکت که دایما واکشی میشن رو md5 کرد
اما میشه یه لوگین برای دیتا بیس sql  ساخت بنظرم اونم مفید نبود   
خلاصه بگیم میخام از اکسس استفاده کنم من فقط دنبال شبکه کردن اکسس هستم غیر از اون مشکلی نداره

بخاطر این میگن امنیت sql بالاس که چون اکثر توی شبکه کاربرد داره همون تاید گرفتن از طریق sa
شما مشکلت بااکسس چیه چرا با اون کار نمیکنی ؟؟

من بخاطر شبکه نشدن رفتم سراغ sql?? 

این ای دی من تو تلگرامه   csharpp
این همون روش گذاشتن پس روی دیتا بیسه اما من تو sql 2012 چنین امکاناتی ندیدم
https://www.supremainc.com/en/node/618

----------


## pafshin

اما تو یه سایتی دیدم  نوشته بودند sql sever 2005  خودش دیتا بیس رو رمز دار میکنه 

اما سیستم من ویندوز 10 هست و sql  2005  نصب نمیشه

----------


## alireza_s_84

> سلام
> من تو برنامم دیتا بیسی دارم که اعتبار کاربر برای  استفاده از برنامه را در خودش ذخیره میکنه. البته این اعتبار با صد جور روش اصولی و مندرآوردی ذخیره کردم که به سادگی نتونه بره و دستی یک اعتبار برای خودش تعریف کنه و کلا" به ریش من بخنده.
> ولی دیدم کاربر می تونه یکبار که اعتبار خریدار و اونو تو دیتابیس ذخیره کرد از دیتا بیس کپی بگیره و بعد از اینکه اعتبارش تمام شد بانک اطلاعات کپی شده که اعتبار کاربر توش فول بوده را جایگزین دیتا بیس با اعتبار تمام شده بکنه و دوباره شروع به استفاده از نرم افزار کنه.
> کسی راهکاری برای مقابله با این روش داره
> 
> برنامه من با SQL Express ویژوال ساخته شده
> دیتا بیس هم در مسیر برنامه است
> 
> با تشکر


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

----------


## محمد ذبیحی نژاد

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


برنامه ام  بروی سیستم کاربر اجرا میشه.
روند برنامه هم اینه که کابر برای استفاده از نرم افزار باید اعتیار خودشو داخل برنامه با پرداخت هزینه شارژکنه.
حالا خودتو کاربر برنامه حساب کن. میای و یک بار حساب کاربری خودتو شارژ میکنی بعد برای اینکه دیگه  نخواهی هزینه کنی از دیتابیس برنامه کپی میگیری برای خودت بعدا" که اعتبارت تو برنامه تموم شد میای دیتا بیسی که کپی گرفته بودی برای خوت و توش اعتبارت کامل بود را جایگزین دیتا بیس برنامه میکنی. و یا فایل mdf.* برنامه را با برنامه sql management باز می کنی و مستقیما اعتبارتو دستی وارد می کنی(البته برای این مورد اخیر تمهیدات لازم را انجام دادم-همون هزار و یکجور روش مندرآوردی بود که گفتم)
حالا راهنمایی بفرمایید

----------


## m.4.r.m

> برنامه ام  بروی سیستم کاربر اجرا میشه.
> روند برنامه هم اینه که کابر برای استفاده از نرم افزار باید اعتیار خودشو داخل برنامه با پرداخت هزینه شارژکنه.
> حالا خودتو کاربر برنامه حساب کن. میای و یک بار حساب کاربری خودتو شارژ میکنی بعد برای اینکه دیگه  نخواهی هزینه کنی از دیتابیس برنامه کپی میگیری برای خودت بعدا" که اعتبارت تو برنامه تموم شد میای دیتا بیسی که کپی گرفته بودی برای خوت و توش اعتبارت کامل بود را جایگزین دیتا بیس برنامه میکنی. و یا فایل mdf.* برنامه را با برنامه sql management باز می کنی و مستقیما اعتبارتو دستی وارد می کنی(البته برای این مورد اخیر تمهیدات لازم را انجام دادم-همون هزار و یکجور روش مندرآوردی بود که گفتم)
> حالا راهنمایی بفرمایید


این روش فکر نکنم اصولی باشه شما برای ذخیره اعتبار و استفاده از اون می تونی از ریجیستری ویندوز به صورت کد شده استفاده کنی که هر کسی ازش سر در نیاره .

----------


## paghalat

خب چرا ستاب سازی نمی کنی؟

----------

