PDA

View Full Version : استفاده از بانک فقط توسط برنامه



darioush01
شنبه 12 مرداد 1387, 09:55 صبح
با سلام
من قبلا سوالم رو تو قسمت C# مطرح کردم اما يکی از اساتيد فرمودن اينجا قبلا مطرح شده اما من دقيقا نمی دونم چه کليدی رو واسه جستجو وارد کنم .
سوالم اينه : يه بانک داره برنامم که می خوام فقط توسط خود برنامه باز بشه يعنی اگه کاربری که برنامم رو نصب کرده Sql هم نصب کنه نتونه به کمک محيط sql بانک رو مشاهده کنه . و اين بانک و اطلاعاتش فقط و فقط توسط محيط برنامه قابل دسترسی باشه . چطوری ميشه اين کارو کرد ؟ ممنون ميشم راهنماييم کنين .

AminSobati
شنبه 12 مرداد 1387, 19:55 عصر
دوست عزیزم،
شما باید لاگینهای اضافی مثل Builtin\Administrators رو حذف کنین و فقط یک لاگین برای برنامه خودتون بسازین که در Connection String ازش استفاده میشه

رضا جاسبی
شنبه 12 مرداد 1387, 22:58 عصر
ولی با همون UserName و Password که در برنامه تعریف میشه می تونه به DB دسترسی داشته باشه. نه؟

darioush01
شنبه 12 مرداد 1387, 23:33 عصر
ممنون از توجهتون , ممکنه راهنماييم کنين که چطوری يه user واسه برنامم بسازم . خوب يعنی اين user اجازه نميده که کاربر از تو محيط Sql بانک رو باز کنه و محتويات table های اونو ببينه يا دستکاری کنه ؟

رضا جاسبی
شنبه 12 مرداد 1387, 23:57 عصر
ممنون از توجهتون , ممکنه راهنماييم کنين که چطوری يه user واسه برنامم بسازم . خوب يعنی اين user اجازه نميده که کاربر از تو محيط Sql بانک رو باز کنه و محتويات table های اونو ببينه يا دستکاری کنه ؟

من با SQL2000 کار می کنم. اما فکر نمی کنم تو 2005 یا 2008 متفاوت باشه. متاسفانه دوست من در 2000 حداقل یک User وجود خواهد داشت (که همونی میشه که در برنامه تعریف می کنی) و با اون میشه به SQL وصل شد. البته در برنامه میشه User و Password رو Encrypt کنی که کسی نتونه متوجه بشه.
البته یک بحثی در یک تاپیک دیگه بود که میشه فایلهای SQL رو کپی کرد و جای دیگه باز کرد. اما فرض من در مورد مساله شما اینه که سرورتون امنه و کسی نمی تونه به فایلهای فیزیکی اون دسترسی داشته باشه.

AminSobati
یک شنبه 13 مرداد 1387, 07:36 صبح
ولی با همون UserName و Password که در برنامه تعریف میشه می تونه به DB دسترسی داشته باشه. نه؟
کاملا درسته. این پیش فرض وجود داره که برنامه Compile شده هست و Source از کاربر مخفیه. در این حالت برنامه با User و Pass که Hard Code شده به دیتابیس متصل میشه و در جدولی که شما ساختین، کاربر رو Authenticate میکنه.

AminSobati
یک شنبه 13 مرداد 1387, 07:38 صبح
ممنون از توجهتون , ممکنه راهنماييم کنين که چطوری يه user واسه برنامم بسازم . خوب يعنی اين user اجازه نميده که کاربر از تو محيط Sql بانک رو باز کنه و محتويات table های اونو ببينه يا دستکاری کنه ؟

اول در قسمت Security یک Login بسازین و بعد در دیتابیس برای اون لاگین، Username ایجاد کنین. فراموش نکنین که Loginهای اضافی باید حذف بشن