View Full Version : سوال: ایجاد کانکشن جهت امنیت داده ها
javad_1349
شنبه 15 تیر 1392, 12:48 عصر
چندی پیش مراجعه ای به یکی از کارگزاری ها داشتم نرم افزارها آنها طوری طراحی شده بود که از طریق یک کانکشن به اطلاعات دسترسی داشته و کاربر دیتا بیس ها را نمی توانست ببیند دوستان کسی چنین موردی را تابحال انجام داده یا خیر ؟ در اینصورت راهنمایی کنید موفق باشید
gh_khajehzade
شنبه 15 تیر 1392, 13:30 عصر
1-برنامه تحت شبكه؟
2-منظور از كانكشن چيه؟
farhad_shiri_ex
یک شنبه 16 تیر 1392, 08:15 صبح
بله این امکان وجود دارد با Socket Programing شخصا علاقه زیادی روی این مبحث دارم چند وقتی روی پروژه ای با همین موضوع که چندین مرکز را توسط وب منتهی با سوکت هایی که خودم تعریف کرد ه ام کار می کنم در کل در برنامه نویسی سوکت دو پروتکل وجود دارد UDP -TCP/IP که هریک مزایا و معایب خود را دارند بسته به اطلاعاتی که می خواهید ارسال کنید باید یکی از این پروتکل را انتخاب نمائید که من چون بروی انتقال اطلاعات پایگاه داده SQL-SERVER کار میکنم با TCP/IP کار میکنم . منتهی مبحث پیچیده ای دارد مستلزم آشنایی با مفاهیم شبکه برنامه نویسی C و استفاده از اکتیو ایکس هاست که البته برای استفاده در ویژوال فاکس و یا غیره می توانید از کنترل قدرتمند WinSock استفاده نمائید متاسفانه به علت استفاده های نادرست از این مقوله در وب و یا در کتاب فروشی ها مستندات زیادی وجود ندارد ولی من یک کتاب در این زمینه با زبان ++C دارم اگر کسی خواست بگه فایل PDF اش بذارم یا اگر سوالی بود در حد توانم خوشحال میشوم کاری کنم.
javad_1349
دوشنبه 17 تیر 1392, 10:56 صبح
خیلی ممنون برای استفاده این بحث دربرنامه فاکس پرو چه باید کرد البته من از SQL SERVER در برنامه هایم استفاده نمی کنم چون برنامه های حسابداری بیشتر نوشته ام و سیستم هایی که هم با آن سرو کار داشته ام از بخت ما سرعت خیلی پایین داشته همیشه تصور می کنم SQL SERVER باعث کندی می شود اگر امکان دارد یک نمونه برنامه درمورد اتصال فاکس به SQL SERVER مثلا اضافه کردن - حذف کردن - گزارش گیری نحوه فراخوانی وغیره قراربدین یا به این آدرس ایمیل ارسال فرمایید موفق باشید j_saree@yahoo.com
javad_1349
دوشنبه 17 تیر 1392, 10:59 صبح
منظورم در هردو حالت میباشد در کل دسترسی به dbf به حداقل برسد چون فرد باداشتن نرم افزار مربوط می تواند راحت محتویات فایلهای داده ها را دستکاری کند
موفق باشید
farhad_shiri_ex
دوشنبه 17 تیر 1392, 18:29 عصر
برای استفاده از SQL-Server که کافی یک کلاس داشته باشید به شرح زیر :
1- Set کردن Conection String مطابق با Server رجیستر شده در (SSMS اس کیو ال استودیو ) و ساخت Database و Table ها.
2- ایجاد متد INSERT - UPDATE-DELETE با استفاده از دستور SQLEXC در Vfox البته حتما Try catch برای کنترل خطا ها همچنین مبحث بسیار مهم Transaction - Commit - Rollback را در این متدها حتما باید لحاظ کنید یا در صورت نیاز ROW-Level-Locking .
3- فر اخوانی کلاس فوق در فرم هایتان و ارسال پارامتر های مورد نیاز متد های کلاس.
البته خیلی کلی توضیح دادم یک کلاس Samp برای آموزش Connecting Sql-Server2008 in V-fox دارم که سعی میکنم براتون UP کنم
در مورد اینکه روش دیگه ای به جز SHARE کردن کل یک بانک در برنامه های V-fox وجود دارده بله امکانش هست خیلی راحت می توانید یک سرور ODBC راه اندازی کنید و با استفاده ADO به بانکهایتان Remote شوید و با VIEW ای از بانکها کارتون انجام بدید در این روش هم کاربر به Table ها دسترسی نخواهد داشت البته اگر در شبکه باشد همچنین در این روش دیگر نیازی به MAP کردن درایو هم نخواهید داشت .اگر Local هم که متاسفانه در زمینه امنیت پایگاه داده V-fox بسیار ضعیف عمل می کنه برای همین راهی نیست جز SQL-SERVER
در مورد استفاده از Socket هم عرض کردم می توانید از اکتیو ایکس قدرتمند WinSock استفاده نمائید در لیست OLE های ویندوز موجود هست از این کنترل باید یک بر روی کامپیوتر مشتری و یکی هم بر روی سرور بگذارید در فرم مشتری باید IP و Port ای سرور که Open هست باید BIND کنید در سرور هم باید منتظر دریافت اطلاعات از پورت فوق باشید مبحث بسیار پیچیده ای هست خیلی کلی گفتم ولی یه برنامه CHAT دارم که با UDP کار کردم سعی میکنم براتون UP کنم منتهی تا چند روز آینده چون به شدت درگیرم اما اگر از من خبری نشد خواهشا یادآوری کنید تا اگر شد براتون email کنم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.