PDA

View Full Version : ذخیره موارد لازم در خود برنامه!؟؟؟



2020s1371
یک شنبه 16 شهریور 1393, 10:23 صبح
باسلام
من یه برنامه نوشتم که لازم داره یه سری اطلاعات توی خودش داشته باشه و بشه ازون ها استفاده کرد ولی مشکل اینه که ایده ای ندارم ک چکارش کنم ، شاید با فایل بشه ولی مسلما روش درستی نیست

چیزایی که من میخام ذخیره شه ایناست: تنظیمات اتصال به پایگاه داده (از نام و پورت و یوزر گرفته تا پسورد اتصال) + پسورد فردی که به برنامه وارد میشود






راستی چطور توی عنوان میشه نوشت حل شده؟؟؟توی پست قبلیم با اینکه مشکل حل شد نتونستم توعنوانش بنویسم!

کامبیز اسدزاده
یک شنبه 16 شهریور 1393, 11:28 صبح
باسلام
من یه برنامه نوشتم که لازم داره یه سری اطلاعات توی خودش داشته باشه و بشه ازون ها استفاده کرد ولی مشکل اینه که ایده ای ندارم ک چکارش کنم ، شاید با فایل بشه ولی مسلما روش درستی نیست

چیزایی که من میخام ذخیره شه ایناست: تنظیمات اتصال به پایگاه داده (از نام و پورت و یوزر گرفته تا پسورد اتصال) + پسورد فردی که به برنامه وارد میشود






راستی چطور توی عنوان میشه نوشت حل شده؟؟؟توی پست قبلیم با اینکه مشکل حل شد نتونستم توعنوانش بنویسم!

این درست نیست هرچیزی رو در خود برنامه قرار بدین.
بزرگترین نرم افزار ها در فایل های خروجی چنین اطلاعات رو ذخیره میکنند و میخونند.
معمولا از خروجی XML و یا INI استفاده میکنند.

برای تنظیمات اطلاعات دیتابیس و ... بهترین گزینه INI فایل هست.

2020s1371
یک شنبه 16 شهریور 1393, 11:43 صبح
این درست نیست هرچیزی رو در خود برنامه قرار بدین.

درسته . منظورم من هم از اینکه توی خود برنامه ذخیره شه این نبود که توی سورس برنامه زده بشه.برای همینم فایل رو گفتم.
منظورم داشتن منو تنظیمات داخل برنامه و ذخیره این تنظیمات بود

بزرگترین نرم افزار ها در فایل های خروجی چنین اطلاعات رو ذخیره میکنند و میخونند.
معمولا از خروجی XML و یا INI استفاده میکنند.

برای تنظیمات اطلاعات دیتابیس و ... بهترین گزینه INI فایل هست.
در مورد اینچیزی که گفتین میشه یه کم بیشتر توضیح بدین
امنیتش رو چطور تامین میکنید؟ خود برنامه چجوری خودش رو بر اساس این فایل ست میکنه؟ تفاوت این فایل ها با فایل متنی چیه؟

میدونم سوالم ابتداییه ولی اگه میشه کمک کنین

کامبیز اسدزاده
یک شنبه 16 شهریور 1393, 11:57 صبح
درسته . منظورم من هم از اینکه توی خود برنامه ذخیره شه این نبود که توی سورس برنامه زده بشه.برای همینم فایل رو گفتم.
منظورم داشتن منو تنظیمات داخل برنامه و ذخیره این تنظیمات بود

در مورد اینچیزی که گفتین میشه یه کم بیشتر توضیح بدین
امنیتش رو چطور تامین میکنید؟ خود برنامه چجوری خودش رو بر اساس این فایل ست میکنه؟ تفاوت این فایل ها با فایل متنی چیه؟

میدونم سوالم ابتداییه ولی اگه میشه کمک کنین

خب ببینید فرض کنید لازمه اردس سرور , پورت و ... رو به عنوان Config از یه جایی بخونید و تغییرش بدین و برنامه هر سری بر اساس همین تنظیمات بیاد بالا.
در این صورت استفاده از یک سری استاندارد الزامی هستش توضیحات در رابطه با ini در این بخش داده شده : http://en.wikipedia.org/wiki/INI_file

ولی این رو در نظر بگیرید اگه قراره نام کاربری و رمزعبور فرد رو دریافت کنید این نیازمند دیتابیس هست اینجوری امنتیش حفظ خواهد شد ولی برای موارد دیگه من ini رو پیشنهاد میکنم.

نرم افزار با عملیات IO اطلاعات رو میخونه و حتی میتونه هنگام تنظیمات تغییرش بده و ذخیره کنه بدون دخالت به دیتابیس.

اینجارو ببین من در پروژه خودم این روش رو عملی کردم خیلی هم کارسازه : http://forums.serverelite.net/uploads/monthly_08_2014/post-1-0-49186300-1409223388_thumb.png
کلا ورودی هایی که میبینید مربوط به اطلاعات اتصال به دیتابیس هستش که از فایل ini میخونه و هنگام تنظیمات و ذخیره سازی هم بازنویسی میکنه.

2020s1371
یک شنبه 16 شهریور 1393, 12:09 عصر
خب ببینید فرض کنید لازمه اردس سرور , پورت و ... رو به عنوان Config از یه جایی بخونید و تغییرش بدین و برنامه هر سری بر اساس همین تنظیمات بیاد بالا.
در این صورت استفاده از یک سری استاندارد الزامی هستش توضیحات در رابطه با ini در این بخش داده شده : http://en.wikipedia.org/wiki/INI_file


ممنون بعد از پست قبلی شما مشغول مطالعه ش شدم.. بازم ممنون

ولی این رو در نظر بگیرید اگه قراره نام کاربری و رمزعبور فرد رو دریافت کنید این نیازمند دیتابیس هست اینجوری امنتیش حفظ خواهد شد ولی برای موارد دیگه من ini رو پیشنهاد میکنم.

ولی خب اینجوری که شما فرمودید دوباره به یه دیتا بیس نیاز دارم که دوباره برای اتصال به اون باید یا رمزویوزر اتصال به اون دیتابیس رو توی سورس برنامه جا بدم و یا ذخیره کنم
یه جوری گیج شدم و حس میکنم داره دور بوجود میاد !:ناراحت: این ابهام رو چکار کنم؟

کامبیز اسدزاده
یک شنبه 16 شهریور 1393, 12:16 عصر
ممنون بعد از پست قبلی شما مشغول مطالعه ش شدم.. بازم ممنون

ولی خب اینجوری که شما فرمودید دوباره به یه دیتا بیس نیاز دارم که دوباره برای اتصال به اون باید یا رمزویوزر اتصال به اون دیتابیس رو توی سورس برنامه جا بدم و یا ذخیره کنم
یه جوری گیج شدم و حس میکنم داره دور بوجود میاد !:ناراحت: این ابهام رو چکار کنم؟

نیازی به دیتابیس نیست !
فرض کن نرم افزار رو طراحی کردی و آماده استفاده هستش و در داخل نرم افزارت قراره کلی کار انجام بدی مثل ثبت نام , ویرایش و ... که از دیتابیس میخونه و انجام میده.
حالا برای اینکه یه قسمتی قرار بدی برای تنظیمات و پیکربندی دیتابیسی که بهش دسترسی نداری باید این روش رو پیاده سازی کنی چون فعلا به دیتابیس دسترسی نداری و قراره نرم افزار بر اساس تنظیماتی که میدی بره اطلاعات رو بخونه و به دیتابیس متصل بشه.

برای اینکه رمزعبور و ... رو در داخل سورس برنامه جا ندی این روش رو پیشنهاد کردم چون شاید کاربر دارای یک نام کاربری و رمزعبور همراه با یه آرس دیگه ای هست در این صورت باید بتونه تنظیمات خودش رو وارد نرم افزار شما بکنه و نرم افزار بر اساس اون اطلاعات بیاد بالا یا نه !

یعنی این کار فقط برای ایجاد یک قسمت برای ردو بدل اطلاعات CONFIG هست نه چیز دیگه.

2020s1371
یک شنبه 16 شهریور 1393, 12:52 عصر
نیازی به دیتابیس نیست !
فرض کن نرم افزار رو طراحی کردی و آماده استفاده هستش و در داخل نرم افزارت قراره کلی کار انجام بدی مثل ثبت نام , ویرایش و ... که از دیتابیس میخونه و انجام میده.
حالا برای اینکه یه قسمتی قرار بدی برای تنظیمات و پیکربندی دیتابیسی که بهش دسترسی نداری باید این روش رو پیاده سازی کنی چون فعلا به دیتابیس دسترسی نداری و قراره نرم افزار بر اساس تنظیماتی که میدی بره اطلاعات رو بخونه و به دیتابیس متصل بشه.

برای اینکه رمزعبور و ... رو در داخل سورس برنامه جا ندی این روش رو پیشنهاد کردم چون شاید کاربر دارای یک نام کاربری و رمزعبور همراه با یه آرس دیگه ای هست در این صورت باید بتونه تنظیمات خودش رو وارد نرم افزار شما بکنه و نرم افزار بر اساس اون اطلاعات بیاد بالا یا نه !

یعنی این کار فقط برای ایجاد یک قسمت برای ردو بدل اطلاعات CONFIG هست نه چیز دیگه.

الان این منم: :ناراحت::ناراحت::ناراحت::افس ده::افسرده::متعجب::متعجب::مت جب:
بازم متوجه نشدم
یه مثال خیلی خیلی کوچیک میزنید ؟؟


بیشتر ابهامم توی این بخشه:


نیازی به دیتابیس نیست !
برای اینکه رمزعبور و ... رو در داخل سورس برنامه جا ندی این روش رو پیشنهاد کردم چون شاید کاربر دارای یک نام کاربری و رمزعبور همراه با یه آرس دیگه ای هست در این صورت باید بتونه تنظیمات خودش رو وارد نرم افزار شما بکنه و نرم افزار بر اساس اون اطلاعات بیاد بالا یا نه !
.

کامبیز اسدزاده
یک شنبه 16 شهریور 1393, 13:04 عصر
الان این منم: :ناراحت::ناراحت::ناراحت::افس ده::افسرده::متعجب::متعجب::مت جب:
بازم متوجه نشدم
یه مثال خیلی خیلی کوچیک میزنید ؟؟


بیشتر ابهامم توی این بخشه:

مگه نمیخوای یک قسمت برای تنظیمات ورود اطلاعات اتصال به دیتابیس ایجاد کنی ؟ و این اطلاعات Dynamic بشه بدون اینکه در سورس برنامه تعریفش کنی؟ خب اگه منظورت اینه روشی که گفتم مناسبه.

2020s1371
یک شنبه 16 شهریور 1393, 13:09 عصر
مگه نمیخوای یک قسمت برای تنظیمات ورود اطلاعات اتصال به دیتابیس ایجاد کنی ؟ و این اطلاعات Dynamic بشه بدون اینکه در سورس برنامه تعریفش کنی؟ خب اگه منظورت اینه روشی که گفتم مناسبه.
درسته.. منم میخام همینکارو بکنم ...
تا اینجا اینو فهمیدم: توی یه فایل ini تنظیماتو ذخیره میکنم و هر بار برنامه باز بشه میگم بخونش و ست کن
ولی
یوزر پسورد رو نمیخام هر دفعه وارد کنم و میخام اینارو هم توی تنظیمات ذخیره کنه (البته پسورد رو ستاره نشون بده که اینکارو انجام دادم)

الان یوزر و پسورد رو چجوری بایدذخیره کنه و داشته باشه؟؟
اگه توی همون فایل ذخیره کنم بنظرم امنیت نداره، درسته؟؟

کامبیز اسدزاده
یک شنبه 16 شهریور 1393, 13:16 عصر
درسته.. منم میخام همینکارو بکنم ...
تا اینجا اینو فهمیدم: توی یه فایل ini تنظیماتو ذخیره میکنم و هر بار برنامه باز بشه میگم بخونش و ست کن
ولی
یوزر پسورد رو نمیخام هر دفعه وارد کنم و میخام اینارو هم توی تنظیمات ذخیره کنه (البته پسورد رو ستاره نشون بده که اینکارو انجام دادم)

الان یوزر و پسورد رو چجوری بایدذخیره کنه و داشته باشه؟؟
اگه توی همون فایل ذخیره کنم بنظرم امنیت نداره، درسته؟؟

خب دوست عزیز یوزر پسورد دیتابیس رو هم میدی به همون فایل ini دیگه ! اگه میخوای دیده نشه میتونی کدش کنی.
چون قراره تمامی اطلاعات مربوط به Connection string رو از این فایل بخونه.

پیشنهاد من این هست هم راحته و هم کاربردی.

2020s1371
یک شنبه 16 شهریور 1393, 13:24 عصر
اگه میخوای دیده نشه میتونی کدش کنی.
.
OK,
how??

از md5 که نمیشه استفاده کرد... ولی شاید منظورتون اینه که از چیزی مثله جابجایی حروف موقع ذخیره کردن و خوندن استفاده کنم؟؟

احسان!
یک شنبه 16 شهریور 1393, 13:36 عصر
OK,
how??

از md5 که نمیشه استفاده کرد... ولی شاید منظورتون اینه که از چیزی مثله جابجایی حروف موقع ذخیره کردن و خوندن استفاده کنم؟؟

md5 که قطعا نه.باید رمز نگاری کنید نه هش.
اون روش هم خیلی خیلی ساده شکسته میشه.
از یه چیزی مثل AES استفاده کنید مثلا.(روش رمزنگاری زیاده.)

کامبیز اسدزاده
یک شنبه 16 شهریور 1393, 13:41 عصر
OK,
how??

از md5 که نمیشه استفاده کرد... ولی شاید منظورتون اینه که از چیزی مثله جابجایی حروف موقع ذخیره کردن و خوندن استفاده کنم؟؟

How اش رو جستجو کنید ! :لبخندساده:

حامد مصافی
یک شنبه 16 شهریور 1393, 16:37 عصر
احتمالا شما دنبال این (http://qt-project.org/doc/qt-5/QSettings.html) هستید