View Full Version : سوال: مشکل در خواندن داده های کدگذاری شده
rkhabbazi
چهارشنبه 23 تیر 1389, 09:15 صبح
سلام دوستان
من در برنامه خودم برای افزایش امنیت دسترسی از تابعی استفاده می کنم که داده ها را با روش خاصی کدگذاری می کند و سپس در بانک اطلاعاتی درج می کند. مشکل اینجاست که دیگر نمی توانم این داده ها را با ابزار های نمایش اطلاعات بانک مانند DBEdit,DBComboBox,DBCheckBox,... نمایش دهم، چون کدگذاری شده اند.
خواستم بپرسم آیا روشی وجود دارد که ابزار های نمایش بانک اطلاعاتی مانند موارد فوق، قبل از اینکه داده ها را نمایش دهند، از تابعی که نوشته ام استفاده کنند تا داده ها از حالت کدگذاری شده خارج شوند یا نه؟
یک سوال دیگه هم داشتم و اون اینکه در نرم افزارم از چه دستوراتی استفاده کنم تا هنگام اجرا روی رایانه مشتری، دسترسی کاربر را به قسمت Enterprise Manager سرویس دهنده، محدود کند. اگر راهی وجود دارد ، توضیح دهید.
pezhvakco
چهارشنبه 23 تیر 1389, 10:30 صبح
درود :
پرسش 1 > ابزارهای ارتباطی داده ها رو مستقیم از بانک می گیرن و نمیشه داده ها رو در بین راه تغییر داد .
پرسش 2 > Enterprise Manager رو برای مشتری نصب نکن .
فکر خوش .
rkhabbazi
چهارشنبه 23 تیر 1389, 10:50 صبح
درود :
پرسش 1 > ابزارهای ارتباطی داده ها رو مستقیم از بانک می گیرن و نمیشه داده ها رو در بین راه تغییر داد .
پرسش 2 > Enterprise Manager رو برای مشتری نصب نکن .
فکر خوش .
با تشکر از پاسخ های پژواک عزیز:تشویق:
برای پرسش دوم آیا کافیه که نسخه مشتری را نصب نکنم؟ منظور اینکه در داخل خود نرم افزارم نیاز به تنظیمات خاصی نیست؟ مثل کلمه و رمز عبور؟:متفکر:
اگر مشتری زرنگ بود و خودش نسخه مشتری را نصب کرد، چی؟:ناراحت:
من هیچی درباره امنیت پایگاه داده توسط خود Enterprise نمی دونم. اگر راهنمایی کنید ممنون می شوم.:کف:
با تشکر فراوان
pezhvakco
چهارشنبه 23 تیر 1389, 12:11 عصر
کافیه که نسخه مشتری را نصب نکنم؟
نسخه مشتری چیه که کافیه نصب نکنی ؟
منظور اینکه در داخل خود نرم افزارم نیاز به تنظیمات خاصی نیست؟ مثل کلمه و رمز عبور؟:متفکر:
کدوم نرم افزار ؟
اگر مشتری زرنگ بود و خودش نسخه مشتری را نصب کرد، چی؟:ناراحت:
اگر مشتری زرنگ باشه ...
فکر خدوتو درگیر نکن . ما که هیچ اون صاحب سبکاش رو هم دور میزنن ( همین نسخه دلفی رو که کار میکنی چند خریدی تا برسه به ... ) .
فکر خوش .
Majid.Ebru
دوشنبه 25 مرداد 1389, 15:07 عصر
درود :
پرسش 1 > ابزارهای ارتباطی داده ها رو مستقیم از بانک می گیرن و نمیشه داده ها رو در بین راه تغییر داد .
سلام
راهي براي اين كار وجود نداره ؟ منظورم كد كردن دادها و نمايش صحيح اونها
pezhvakco
دوشنبه 25 مرداد 1389, 18:33 عصر
منظورم كد كردن دادها و نمايش صحيح اونها
کد کردن داده ها روش داره و در همین سایت وجود داره برای نمایش هم همین طور .
فقط نمیشه برای نمایش اطلاعات بانک از ابزار ارتباط مستقیم مانند (DBEdit) استفاده کنی و باید از توابع رمز گشایی در خواندن استفاده کنی .
vcldeveloper
دوشنبه 25 مرداد 1389, 21:41 عصر
پرسش 1 > ابزارهای ارتباطی داده ها رو مستقیم از بانک می گیرن و نمیشه داده ها رو در بین راه تغییر داد .
اشتباه هست؛ کنترل های Data-aware دلفی داده را از طریق DataSource متصل شده به آنها دریافت می کنند، نه مستقیما از بانک اطلاعاتی.
آیا روشی وجود دارد که ابزار های نمایش بانک اطلاعاتی مانند موارد فوق، قبل از اینکه داده ها را نمایش دهند، از تابعی که نوشته ام استفاده کنند تا داده ها از حالت کدگذاری شده خارج شوند یا نه؟
می تونید در رویدادهای OnGetText و OnSetText مربوط به هر یک از فیلدهای دیتاست کدهای مربوط به رمزگزاری و رمزگشایی داده ها را قرار بدید.
یک سوال دیگه هم داشتم و اون اینکه در نرم افزارم از چه دستوراتی استفاده کنم تا هنگام اجرا روی رایانه مشتری، دسترسی کاربر را به قسمت Enterprise Manager سرویس دهنده، محدود کند.
Enterprise Manager در اختیار کاربر مدیر SQL Server هست. اگر کاربر مورد نظر شما خودش دسترسی مدیریتی داره، شما نمی تونید محدودش کنید. اگر دسترسی مدیریتی نداره، می تونید براش محدودیت های مختلفی را تعریف کنید.
Majid.Ebru
پنج شنبه 08 مهر 1389, 14:32 عصر
می تونید در رویدادهای OnGetText و OnSetText مربوط به هر یک از فیلدهای دیتاست کدهای مربوط به رمزگزاری و رمزگشایی داده ها را قرار بدید.
سلام
اگه مقدور هست يه مثال درباره رویدادهای OnGetText و OnSetText بزنيد!؟!
توي سايت گشتم چيزي پيدا نكردم.
با تشكر
bootshow
یک شنبه 11 مهر 1389, 16:15 عصر
روی table خود مثلا adotable1 دابل کلیک کنید.در پنجره جدید کلیک سمت راست و AddAllFields را بزنید.اول از همه جدولتون ّ باید active یا open باشد.روی هر کدام از فیلدها کلیک کنید در قسمت events رویداد OnGetText را مشاهده میکنید.و کدی شبیه زیر بنویسید.
Text=MyDecodeFunction(Text)
Majid.Ebru
دوشنبه 12 مهر 1389, 09:36 صبح
کدی شبیه زیر بنویسید.
Text=MyDecodeFunction(Text)
سلام
ممنون كه جواب داديد اما سوال من همين نحوه نوشتن كد ها هست.الان با دستور OnGetText مشكل ندارم اما با دستور OnSetText متاسفانه همچنان مشكل دارم .اگه مقدوره درباره دستور OnSetText يه توضيحي بدبد!!
با تشكر
bootshow
دوشنبه 12 مهر 1389, 11:34 صبح
کلا بصورت معمولی شما باید برنامه را بنویسید.دیتابیس شما باید خالی باشد.فقط در رویدادهای onsettext و ongettext توابع decode و encode را بنویسید.
MyDecodeFunction تابعی هست که ورودی آن متن کد شده است و خروجی آن متن معمولی آن هست.
در رویداد OnSetText ورودی رویداد متن معمولی هست که کاربر میتونه ببینه و این متن قبل از ذخیره در بانک اطلاعاتی باید به متن کد شده(بوسیله تابعی که نوشتید) تبدیل شود.
در سایت زیر کامپوننتی هست که انواع کدینگهای یک طرفه و دوطرفه را پشتیبانی میکند.
http://www.cityinthesky.co.uk/cryptography.html
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.