PDA

View Full Version : مبتدی: محدودسازی دسترسی یک آی پی (IP) به database



sldvhlds
شنبه 21 مرداد 1396, 21:02 عصر
سلام دوستان برنامه ای دارم که یک سری اطلاعات رو از کاربر میگیره ودر یک دیتابیس SQL ذخیره میکنه دیتابیس تحت شبکه کار میکنه در یک شبکه محلی وداخلی. IP سرور مثلا هست 20.47.14.75 سوالم اینه که چطوری توی برنامه کدی رو قرار بدم که از دسترسی یک Ip یا یک رنج IP به انتخاب کاربر مدیر برنامه به دیتابیس جلوگیری کنه مثلا توی برنامه یک تکست باکس قرار بدیم ومدیر یک آی پی رو وارد کنه واین آی پی نتونه به دیتا بیس وصل بشه اگر هم قراره یک trigger روی سرور ایجاد بشه دادن لیست آی پی های بلوک شده در داخل برنامه انجام شود با تشکر

مهدی کرامتی
شنبه 21 مرداد 1396, 21:44 عصر
تا جایی که من مطالعه کردم راه حل استانداردی در SQL Server برای انجام چنین کاری وجود ندارد. راه حل توصیه شده برای انجام این کار استفاده از فایروال برای مسدود کردن دسترسی آی پی های خاص به پورت شبکه SQL Server است.

رامین مرادی
یک شنبه 22 مرداد 1396, 00:33 صبح
با اجازه مهندس کرامتی.
شما میتونید قبل وصل شدن یه بار تو پس زمینه یه جدولی که آی پی های بلاک رو لیست کرده سرچ کنید و اگه اجازه نداشته باشه میتونید یک flag یا هر چیزی رو نشانه گذاری کنید و برنامه از اجرای دستور منصرف بشه . چه حالا لاگین باشه یا دسترسی به یک فرم خاص.

sldvhlds
یک شنبه 22 مرداد 1396, 16:03 عصر
http://sql-articles.com/articles/security/ip-address-blocking-or-restriction-in-sql-server/
سلام لینک بالا رو دوستان ملاحظه بفرمائید با استفاده از این مطلب چطوری کد مربوطه رو بنویسیم؟

sldvhlds
دوشنبه 23 مرداد 1396, 20:25 عصر
با اجازه مهندس کرامتی.
شما میتونید قبل وصل شدن یه بار تو پس زمینه یه جدولی که آی پی های بلاک رو لیست کرده سرچ کنید و اگه اجازه نداشته باشه میتونید یک flag یا هر چیزی رو نشانه گذاری کنید و برنامه از اجرای دستور منصرف بشه . چه حالا لاگین باشه یا دسترسی به یک فرم خاص.
سلام ممنون از پاسخ گوئی شما چیزی که به ذهن خودم هم رسید همینه ولی زیاد از بابت امنیتش مطمئن نبودم تا اطلاع ثانوی اگه راه حل بهتری دوستان پیشنهاد نکنند همین روش رو به کار می برم از دوستان ممنون میشم اگه درمورد لینکی که گذاشتم نظربدید

رامین مرادی
سه شنبه 24 مرداد 1396, 08:31 صبح
امنیت از لحاظ چی؟ !!
شما تو فرم اولتون هر وقت اون فلقتون درست نبود کاربر رو از برنامه بنداز بیرون به همین راحتی(دیگه حتی امکان لاگین هم نداره). دیگه اجرازه کاری نده بهش.در ضمن تو فرم اصلیتون بعد لاگین هم اینو تو تایمر بزار و تو بازه های مشخصی از بانک چک کن ووقتی مدیر طرف رو اخراج کرد دیگه طرف از برنامه انداخته بشه بیرون.

FastCode
سه شنبه 31 مرداد 1396, 01:28 صبح
میتونید از user های sql برای برنامه استفاده کنید. خیلی امن تر هست ولی ممکنه تنظیم دسترسیش یه مقدار پیچیده بشه.

رامین مرادی
سه شنبه 31 مرداد 1396, 08:32 صبح
میتونید از user های sql برای برنامه استفاده کنید. خیلی امن تر هست ولی ممکنه تنظیم دسترسیش یه مقدار پیچیده بشه.

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

FastCode
چهارشنبه 01 شهریور 1396, 00:07 صبح
اگر درست تنظیم بشه نیازی نیست.
میتونه role تعریف کنه. به جداول اختصاص بده و کاربرها رو به role ها اختصاص بده. فقط قسمت آخر دست کاربر هست.