PDA

View Full Version : چگونگی نصب اس کیو ال سرور 2005 - بطوریکه کاربر نتواند به تیبل ها دسترسی پیدا کند



omid200us
پنج شنبه 29 بهمن 1388, 10:29 صبح
همانطور که میدونید با نصب اس کیو ال سرور کاربر میتواند از طریق SQL SERVER Management Studio

به تیبل ها دسترسی پیدا کند - حال شما راهنمایی کنید که چگونه از تیبل ها محافظت کنیم

In_Chan_Nafar
پنج شنبه 29 بهمن 1388, 21:30 عصر
لطفا جهت راهنمايي بهتر سناريو خود را بيشتر توضيح دهيد
آيا Engine مربوط به SQL فقط در اختيار شما است؟
آيا قصد محافظت از تمامي جداول (ساختار و محتواي جداول ) موجود را داريد
و...

S_O_S1982
پنج شنبه 06 اسفند 1388, 21:01 عصر
منم یه همچین سوالی دارم

فرض کنید دیتابیس نصب هست ، روی کلاینتها هم کاربران با برنامه کار می کنند ، تو این حالت اگه یکی بخواد می تونه بیاد رو سرور و داده های یک جدول رو تغییر یده ( بحث اینکه هر کسی به سرور دسترسی نداره و اینا رو مطرح نکنید ، فرض کنید ما می خواهم حتی Admin شبکه هم نتونه داده ها رو رو جدول تغییر بده )
من یه که sql server 2000 ّبود ، وثتی با sa وارد می شدم به هیچ عنوان نمی تونستم داده های تو جدول رو تغییر بدم ، تا حالا هم نتونستم بفهم چجوری میشه این کار رو کرد

Rejnev
پنج شنبه 06 اسفند 1388, 22:43 عصر
کافیه روی sql پسورد بذارید و یا برای کاربرهای مختلف محدودیت ایجاد کنید.(permission)

S_O_S1982
جمعه 07 اسفند 1388, 10:33 صبح
کافیه روی sql پسورد بذارید و یا برای کاربرهای مختلف محدودیت ایجاد کنید.(permission)

دقت بفرمایید می بینی که من نوشتم با sa وارد شدم ، یک راه دیگه داره ، چون اون چیزی که من دیدم اصلا کاربری به چز sa تو خود sqlserver نداشت

Rejnev
جمعه 07 اسفند 1388, 12:39 عصر
دقت بفرمایید می بینی که من نوشتم با sa وارد شدم ، یک راه دیگه داره ، چون اون چیزی که من دیدم اصلا کاربری به چز sa تو خود sqlserver نداشت
منظور من هم پسورد روی sa بود

S_O_S1982
جمعه 07 اسفند 1388, 13:32 عصر
منظور من هم پسورد روی sa بود


لابد من بد توضیح دادم که شما متوجه منظورم نشدی ، در هر حال ،هر کی Sqlserverرو فقط نصبم کرده باشه ، می دونه میشه واسه sa پسورد گذاشت ، به هر حال از دفت نظر شما و اینکه بهم یادآوری کردین پسورد sa رو هم میشه عوض کرد ممنونم ./

دوستان دیگه هم اگه می خوان این بحث پسورد گذاشتن برای Sa رو مطرح کنن ، لطفا پست ها رو با دقت مطالعه کنن ، بعد زحمت بکشن و جواب بدن ، من تو پستهام این نکته رو گفتم که :
( بحث اینکه هر کسی به سرور دسترسی نداره و اینا رو مطرح نکنید ، فرض کنید ما می خواهم حتی Admin شبکه هم نتونه داده ها رو رو جدول تغییر بده )

morrning
جمعه 07 اسفند 1388, 19:49 عصر
توی هر پایگاه داده ای اگر ادمین نتونه اطلاعات رو ویرایش کنه بانک بدون ناظر به چه دردی میخوره!

S_O_S1982
جمعه 07 اسفند 1388, 23:07 عصر
توی هر پایگاه داده ای اگر ادمین نتونه اطلاعات رو ویرایش کنه بانک بدون ناظر به چه دردی میخوره!

به این دلیل که تو نرم افزار تمام ابزارهای مدیریتی تعبیه شده و با این ابزارهای مدیریتی می تونیم بانک رو کنترل کنیم

اما اگه دسترسی مستقیم رو بانک داشته باشه ، و بتونه از طریق اجرای Sqlserver روی سرور به راحتی داده ها رو تغییر بده ، باعث بروز مشکلات امنیتی میشه و حتی ممکنه باعث بشه داده های بانک همخوانیشون رو از دست بدن
به هر حال اصلا بحث این نبوده که ادمین بتونه تغییر بده یا نه ، شما اگه فکر می کنی ادمین به جای مدیریت بانک اطلاعاتی باید داده های توی دیتابیس هم مدیریت کنه ، همیشه دست ادمین رو برای این کار باز بزار، در هر حال بحث چیزه دیگه ای هست

mehdi99
شنبه 08 اسفند 1388, 05:03 صبح
دوست عزیز سلام
در مورد چگونگی روش نصب SQL Server که تا آنجایی که من اطلاع دارم بوسیله Permission ها و Password است.
اما روشی که من معمولا انجام می دهم و کارایی آن هم بیشتر و قابلیت انعطاف بیشتری دارد.
استفاده از Trigger ها است.
با این کار می توانی جلوی مثلا Delete کردن یک جدول و یا Edit کردن ردیف ها را بگیری.
موفق باشی!

S_O_S1982
شنبه 08 اسفند 1388, 09:14 صبح
دوست عزیز سلام
در مورد چگونگی روش نصب SQL Server که تا آنجایی که من اطلاع دارم بوسیله Permission ها و Password است.
اما روشی که من معمولا انجام می دهم و کارایی آن هم بیشتر و قابلیت انعطاف بیشتری دارد.
استفاده از Trigger ها است.
با این کار می توانی جلوی مثلا Delete کردن یک جدول و یا Edit کردن ردیف ها را بگیری.
موفق باشی!

سلام

اگه trigger برای جلوگیری از Delete یا edit بزاریم ، از طریق خود نرم افزار هم delete رو انجام بدیم ، اون trigger اجرا نمیشه ؟؟؟یعنی میشه تنظیم کرد که اون trigger فقط موقعی که مستقیم با Sqlserver داریم کار می کنیم اجرا بشه ؟؟!!!!

mehdi99
شنبه 08 اسفند 1388, 19:24 عصر
سلام دوست عزیز
بله می شه همچنین کاری کرد.
در برنامه Trigger را باید Disable کنی.

mehdi99
شنبه 08 اسفند 1388, 19:42 عصر
سلام دوباره این لینک رو هم ببین (http://barnamenevis.org/forum/showthread.php?t=207588)
موفق باشی

S_O_S1982
شنبه 08 اسفند 1388, 20:47 عصر
سلام دوست عزیز
بله می شه همچنین کاری کرد.
در برنامه Trigger را باید Disable کنی.

سلام

درسته این روشی که گفتین هم میشه ، اما برای هر تغییری از برنامه باید بلافاصله این trigger یا فارسیش چکانه رو غیر فعال کنیم و به محض اینکه تغییر و انجام دادیم فعالش کنیم ، به هر حال از جوابتون ممنونم
اما به نظر من یک روش دیگه هم باید باشه

ممنونم

mehdi99
یک شنبه 09 اسفند 1388, 00:41 صبح
سلام

اما به نظر من یک روش دیگه هم باید باشه راه دیگر اینه که یک User توی SQLServer بسازی و در برنامه فقط به کاربر مورد نظر اجازه حذف و ویرایش بدهی . این کاربر می تونی sa هم نباشه . حتی می شه به کاربر sa اجازه حذف و ویرایش رکوردها را نداد.
که این هم بازم از Triggerها استفاده می شه. و Trigger چک می کنه اگه کاربر مورد نظر نبود اجازه ویرایش و حذف ندهد. و در برنامه فقط با اون کاربر خاص Connect می شه به دیتابیس.
به نظر من این بهترین راه است و دیگه نمی خواد Trigger ها را فعال را غیره فعال کنی.
دوستان نظر دیگری دارن بگن.
موفق باشی!

S_O_S1982
چهارشنبه 02 تیر 1389, 09:17 صبح
سلام
راه دیگر اینه که یک User توی SQLServer بسازی و در برنامه فقط به کاربر مورد نظر اجازه حذف و ویرایش بدهی . این کاربر می تونی sa هم نباشه . حتی می شه به کاربر sa اجازه حذف و ویرایش رکوردها را نداد.
که این هم بازم از Triggerها استفاده می شه. و Trigger چک می کنه اگه کاربر مورد نظر نبود اجازه ویرایش و حذف ندهد. و در برنامه فقط با اون کاربر خاص Connect می شه به دیتابیس.
به نظر من این بهترین راه است و دیگه نمی خواد Trigger ها را فعال را غیره فعال کنی.
دوستان نظر دیگری دارن بگن.
موفق باشی!


طبق گفته ی این دوستمون ، کسی میدونه چجوری میشه به Sa اجازه حذف و ویرایش رو نداد؟

baran_mehr
سه شنبه 30 آذر 1389, 13:57 عصر
دوستان اگر کسی در این مورد چیزی میدونه لطف کنه راهنمایی کنه
حالا خود تریگر رو چطور باید از طریق برنامه فعال یا غیر فعال کرد

Parseinfo
سه شنبه 07 دی 1389, 20:10 عصر
باسلام. اصلا از بحث تريگر بيايين بيرون كه راه حل اين نيست.
بايد كاري كنيم كه كاربر تعريف شده توسط ما فقط مجاز به ورود به پايگاه داده ما باشه. و همينطور اجازه Attach .
آيا كسي از مباحث تعريف كاربران و سطوح امنيت و دسترسي ها اطلاعات كاملي داره ؟؟؟