PDA

نسخه کامل مشاهده نسخه کامل : ارتباط با پایگاه داده پسورد دار از راه دور (خطر کرک شدن)



sampro
09-04-2008, 12:03
سلام دوستان.
یه موضوعه ای هست که ذهنم رو به خودش مشغول کرده و هیچ جوابی براش ندارم.
سوالم اینه:
ما یک پایگاه داده مثلا اس کیو ال (شایدم مای.اس.کیو.ال) داریم که تو یه سایت نصبه و داده های اون سایت اعم از مشخصات کاربران و اطلاعات دیگه تو اون پایگاه داده وجود دارن.

حالا ما می خوایم با استفاده از یک برنامه ی ویندوزی (که با دلفی نوشته شده) با اون پایگاه داده ارتباط برقرار کرده و اطلاعاتشو بخونیم .
دیتابیسمون پسورد داره
و قاعدتا برای ارتباط دادن برنامه با اون دیتابیس , برنامه باید پسورد رو داشته باشه . خوب ما پسورد رو تو همون متن کانکشنی که باید به ادوکانکشن بدیم قرار می دیم.(فکر کنیم تنها راه همینه)

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

حالا یه کرکر بی کار می یاد و پسورد رو از داخل فایل اجرایی استخراج می کنه و دهنه سایت رو سرویس می کنه .

حالا من موندم که این مشکل رو چه طوری حلش کنم .

دوستان راه حل شما چیه ؟

NoneForce
09-04-2008, 12:11
سلام

يك راه :
به جاي اتصال مستقيم به سرور از وب سرويس استفاده كنيد.

sampro
09-04-2008, 12:30
متاسفانه با اینی که گفتین آشنایی ندارم.

یه توضیح لطفا

NoneForce
09-04-2008, 12:43
سلام

اينجا را ببينيد :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

F A R H A D
09-04-2008, 15:06
سلام. شما براي امنيت بيشتر ميتونيد از برنامه نويسي چندلايه (multitier) استفاده كنيد. مثلا يك script با php,asp,... بنويسيد و داده ها رو با ديتابيس از طريق اين اسكريپت ها مبادله كنيد.
اگر هم كه application ي كه در اختيار عموم قرار ميديد، فقط قرار هست كه داده ها رو بازيابي كنه كه با مديريت كاربران در سطح ديتابيس اكنيت رو برقرار كنيد

sampro
09-04-2008, 16:47
فرهاد جان میشه در مورد برنامه نویسی چند لایه بیشتر توضیح بدید .

در ضمن این برنامه رو هر کسی که عضو سایت هست می تونه با دادن یوزرنیم و پسوردش وارد بشه یعنی فقط قرار نیست که بخواد داده ها رو بازیابی کنه .

F A R H A D
12-04-2008, 13:07
فرهاد جان میشه در مورد برنامه نویسی چند لایه بیشتر توضیح بدید .
در اين مدلي كه من گفتم شما با application ويندوز اطلاعات رو به يك اسكريپت تحت وب كه ميتونه با asp, php نوشته شده باشه post ميكنيد و اسكريپت شما كارهايي مانند insert,delete,update رو انجام ميده
اما اگر هدف شما امنيت هست:
لزومي نداره كه user,pass رو به همون صورتي كه وارد connectionstring ميشه به در database ذخيره كنيد. پسورد رو به صورت hash شده در ديتابيس قرار بديد

sampro
12-04-2008, 18:47
من هش رو متوجه نشدم . یعنی رمزی بشه ؟

F A R H A D
13-04-2008, 07:28
بله.......

sampro
13-04-2008, 09:54
این طوری که به راحتی ممکنه رمزگشایی بشه .
چون می دونید هر نوع نوشته رمزی می تونه شکسته بشه .

در ضمن در مورد برنامه نویسی چند لایه گفتید که ما اطلاعات رو به یه اکریست بفرستیم تا کارهایی مثل ....
می تونیم با استفاده از روش اطلاعات هم بگیریم (کار دستور Select)
در ضمن می تونید در این مورد بیشتر توضیح بدید یا مرجعی معرفی کنید .

F A R H A D
13-04-2008, 10:10
این طوری که به راحتی ممکنه رمزگشایی بشه .
چون می دونید هر نوع نوشته رمزی می تونه شکسته بشه .
sha1 رو جستجو كنيد. بحث مفصلي با vdeveloper در همين زمينه داشتيم

در ضمن در مورد برنامه نویسی چند لایه گفتید که ما اطلاعات رو به یه اکریست بفرستیم تا کارهایی مثل ....
می تونیم با استفاده از روش اطلاعات هم بگیریم (کار دستور Select)
منظور شما رو متوجه نشدم