بتاريخ: 24 أبريل 200520 سنة comment_34074 اريد عمل فورم للمستخدم يمكنه من خلاله تغيير كلمة المرور الخاصة به ,لكن طبعا قبل التغيير يجب وضع كلمة المرور الحالية للتاكد من صحتها ومن ثم ينفذ تعليمة alter user, هل هناك تعليمة select تعيد الpassword الخاصة بالمستخدم من ال DB. تقديم بلاغ
بتاريخ: 29 أبريل 200520 سنة comment_34592 في الحقيقة سؤالك قوي ،، وجدير بالإهتمام !!لا أعتقد أن هنالك تعليمة باستخدام "SELECT" يمكنها أن تقوم باسترجاع كلمة مرور خاصة بيوزر معين !!لكن من المحتمل أن تكون هنالك Function تقوم بعمل ذلك ... حاول إن تبحث في قاعدة البيانات .. وإن لم تجدها حاول أن تبحث في الإنترنت على دالة جاهزة (بالطبع سأفعل ذلك إيضاً)..لكن مبدأياً (بما إنك بتعرف تشتغل PL/SQL) .. حاول تستخدم أمر PASSWORD (وهو أمر يخص SQL*PLUS utility) داخل Function والتي تستقبل ثلاثة براميترات (كلمة المرور الحالية، كلمة المرور الجديدة، تأكيد كلمة المرور الجديدة)، بعد ذلك إعتمد على رد السيرفر والذي غالبا لا يخرج من إحتمالين :* إدخال كلمة مرور خاطئة (ORA-01017)* عدم تتطابق كلمة المرور الجديدة مع التأكيد (SP2-0650)ملحوظة: يجب مراعاة الإحتمالات الأخري التي لها علاقة بالـProfile الذي يخص اليوزر.أسف لعدم كتابتي للدالة ،، لأني بصراحة حالياً ما بعرف أشتغل PL/SQL (لكن عن قريب إنشاءالله)ووفقك الله إخي عصام.وللحديث بقية إنشاء الله ,, تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة comment_34971 اخوانى الاعزاء ..السلام عليكملا توجد فى اوراكل اى طريقة لمعرفة كلمة السر لمستخدم و هذا الشىء يعتبر من المميزات و ليس من العيوب و قد شاع مؤخرا انة يوجد برامج جاهزة لمعرفة فك شفرة كلمة السر و لاكن كلة كلام فى الهوا لان كلمة السر موجوده فى صورة هاشينج و ليس انكودينجولاكن يمكنك تغيير كلمة السر ( طبعا ان كان لك الصلاحية ) دون معرفة كلمة السر القديمة و ذلك عن طريق الامر alter user تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة comment_34977 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته،، يمكن عمل ذلك بإذن اللهوالخطوات هيأن تقوم بتخزين اسم المستخدم الحالي وكلمة المرور وال Connect String في متغيرات وبعد ذلك Logout وبعد ذلك Logon باستخدام اسم المستخدم وكلمة المرور القديمة ثم تقوم بعمل أي أمر من أوامر SQL مثلاSELECT COUNT(*) INTO XXX FROM DUAL;مع عمل Exception طبعا انه في حالة الخطأ يظهر يتم عمل LOGON مرة أخرى بالمتغيرات التي حفظتها سابقاوفي حالة نجاح جملة SQL تعمل LOGOUT ثم LOGON مرة أخرى بالمتغيرات التي حفظتها سابقا تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة comment_35000 وعليكم السلام ورحمة الله وبركاته أخي محمد سيد ،، أن تقوم بتخزين اسم المستخدم الحالي وكلمة المرور من الذي يقوم بعملية التخزين ؟! * إذا كنت تقصد المبرمج .. من أين سيعرف كلمة المرور أصلاً ؟* إذا كنت تقصد الـDBA .. هو أيضاً !! من أين سيأتي بكلمة المرور الحقيقية (الغير مشفرة) ؟ تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة كاتب الموضوع comment_35003 I couldn't understand u,please can you repeat that clearly...... تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة comment_35012 الذي فهمته من كلامك: أنك تريد أن تقارن كلمة المرور التي يدخلها اليوزر بكلمة المرور الحقيقية ..وعليه،،بما أن استرجاع القيمة الحقيقية لكلمة المرور شبه مستحيل .. فلابد من عمل Function تستطيع من خلالها تمرير كلمة المرور الحالية التي أدخلها اليوزو إلى الأوراكل سيرفر (أو ممكن تمرير القيم الثلاثة)بعد كده تشوف القيمة التي تسترجعها الـFunction من السيرفر:فإذا كانت القيمة أو النتيجة إيجابية ( بمعنى أن السيرفر أعطاك إشارة أن كلمة المرور الحالية التي أدخلها اليوزر تطابق قيمة كلمة المرور المشفرة لديه).. تستطيع حينها استخدام الأمر ALTER USER بدون معرفة كلمة السر الحقيقة (الغير مشفرة).هذا كمفهوم عام لحل المعضلة.أما PASSWORD هو عبارة عن أمر (SQL*PLUS) تسطيع من خلاله تغيير كلمة المرور ،، ويطالبك بإعطائه القيم الثلاثة.وبصراحة حاولت أجربه .. ويبدو انه لاينجح في هذه الحالة لأنه لا يقبل القيم دفعة واحدة !!لكن لابد من وجود أمر أو دالة تستطيع التعامل مع هذه الحالة . . .يلا ياخوانا شدو حيلكم معانا ... عاوزين كوووووووووووووووود تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة comment_35020 أخييييييييييييييييييييييييييراً ....الموضوع طلع بسيط جداً جداً ... لا يحتاج إلى إنشاء أي Function ALTER USER <user_name> IDENTIFYED BY <new_password> REPLACE <old_password>; فإذا كانت قيمة old_password لا تتطابق كلمة المرور الحالية لليوزر ...... ببساطة الأوراكل سيرفر لا يقوم بتعديل كلمة المرور ORA-28008: invalid old passwordوجدت الحل في كتاب Oracle9i Reference تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة comment_35029 رائع يا أخ عروة لا نستطيع معرفة كلمة السر الحالية لمستخدم ...لكن إذا كنت DBA يمكنك عمل password verification function للتحقق من عدة أمور مثل:password expiry timenumber of attempts for logonpassword lock time etc.................هذا الرابط عليه مجموعة سكربتات خاصة بpassword verification functions http://www.petefinnigan.com/default/defaul...ord_checker.htm أما فيما يتعلق بمسألة تخزين كلمة المرور ثم إستعادتها:ال hashed passwords يتم تخزينها فى عمود (حقل) إسمه password داخل أحد جداول قاموس البياناتويسمى SYS.USER$ (DBA_USERS) وتسمى قيم كلمات السر هذه أيضا بال authentication strings وتتكون تلك القيم من hexadecimal representation والتى تنتج بدورها عما يعرف بOracle internal password hash routine that outputs an 8 byte (64 bit) string. هذه ال hash value يتم حسابها بلوغاريتم خاص مبنى على نظام DES . المهم أنه لا توجد أية طريقة لمعرفة كلمة المرور من ال hash value بإستخدام أى لوغاريتم غير هذا الذى يستخدمه قاموس البيانات كما ذكرت أو بإستخدام ما يعرف بالهجوم العشوائى brute force attacks وهو أمر يفشل بنسبة 99.999999999999999999% تحياتى تم تعديل 3 مايو 200520 سنة بواسطة Walid Azmy تقديم بلاغ
بتاريخ: 4 مايو 200520 سنة كاتب الموضوع comment_35087 I tried SQL statement in SQLplus and also in form builder ,but it doesn't work,I also searched for it in ORACLE 9i complete referrence ,but there is no option(replace)... تقديم بلاغ
بتاريخ: 4 مايو 200520 سنة comment_35090 صفحة 917 but it doesn't work جرب أعمل يوزر جديد ولنفترض أنه SCOTT بكلمة مورو TIGER وأعطه صلاحية CONNECTبعد ذلك:ALTER USER scott IDENTIFIED BY lion REPLACE mouse; ما النتيجة عندك ؟ تقديم بلاغ
بتاريخ: 4 مايو 200520 سنة كاتب الموضوع comment_35094 ya ,sorry I found it in the book ,but the result is in the following picture: تقديم بلاغ
بتاريخ: 4 مايو 200520 سنة comment_35133 Login as DBA and try:Alter user scott identified by newpass; تقديم بلاغ
بتاريخ: 4 مايو 200520 سنة comment_35147 يبدو أن REPLACE تعمل مع الإصدار 9.2 فقط الدليل من هنا .. لكن هذا رابط آخر يأكد أن أوراكل (Oracle Cal Interface) تحتوي على دالة ()OCIPasswordChange يتم الإستعان بها في مثل هذه الحالة ..؟What is the Oracle Call Interfaceوين ناس الـDeveloper ؟ تقديم بلاغ
بتاريخ: 5 مايو 200520 سنة comment_35166 السلام عليكمانا جربت الامر يا اخ عروة مع الاصدار 8i و لكن ما نفع الامرو ظهر لى نفس الخطا اللى ظهر للاخ عصامو سلام تقديم بلاغ
بتاريخ: 5 مايو 200520 سنة comment_35169 السلام عليكم ورحمة الله وبركاته،، أنا جربت على أوراكل 10 وكانت النتيجة هي : رائع يا أخ عروة تقديم بلاغ
بتاريخ: 5 مايو 200520 سنة كاتب الموضوع comment_35198 ساقوم انشالله بانزال Oracle DB 9.2 قريبا ,اتصور ان المشكلة عندي هي في اصدار الDB,شكرا للجميع ,و رائع يا أخ عروة ... تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.