الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

هل هناك تعليمة تعيد الpassword الخاصة بمستخدم؟

Featured Replies

بتاريخ:

اريد عمل فورم للمستخدم يمكنه من خلاله تغيير كلمة المرور الخاصة به ,لكن طبعا قبل التغيير يجب وضع كلمة المرور الحالية للتاكد من صحتها ومن ثم ينفذ تعليمة alter user, هل هناك تعليمة select تعيد الpassword الخاصة بالمستخدم من ال DB.

بتاريخ:
  • كاتب الموضوع

Is this possible???

بتاريخ:

في الحقيقة سؤالك قوي ،، وجدير بالإهتمام !!

لا أعتقد أن هنالك تعليمة باستخدام "SELECT" يمكنها أن تقوم باسترجاع كلمة مرور خاصة بيوزر معين !!
لكن من المحتمل أن تكون هنالك Function تقوم بعمل ذلك ... حاول إن تبحث في قاعدة البيانات .. وإن لم تجدها حاول أن تبحث في الإنترنت على دالة جاهزة (بالطبع سأفعل ذلك إيضاً)..

لكن مبدأياً (بما إنك بتعرف تشتغل PL/SQL) .. حاول تستخدم أمر PASSWORD (وهو أمر يخص SQL*PLUS utility) داخل Function والتي تستقبل ثلاثة براميترات (كلمة المرور الحالية، كلمة المرور الجديدة، تأكيد كلمة المرور الجديدة)، بعد ذلك إعتمد على رد السيرفر والذي غالبا لا يخرج من إحتمالين :
* إدخال كلمة مرور خاطئة (ORA-01017)
* عدم تتطابق كلمة المرور الجديدة مع التأكيد (SP2-0650)

ملحوظة: يجب مراعاة الإحتمالات الأخري التي لها علاقة بالـProfile الذي يخص اليوزر.

أسف لعدم كتابتي للدالة ،، لأني بصراحة حالياً ما بعرف أشتغل PL/SQL (لكن عن قريب إنشاءالله)

ووفقك الله إخي عصام.

وللحديث بقية إنشاء الله ,,

بتاريخ:

اخوانى الاعزاء ..السلام عليكم
لا توجد فى اوراكل اى طريقة لمعرفة كلمة السر لمستخدم و هذا الشىء يعتبر من المميزات و ليس من العيوب
و قد شاع مؤخرا انة يوجد برامج جاهزة لمعرفة فك شفرة كلمة السر و لاكن كلة كلام فى الهوا لان كلمة السر موجوده فى صورة هاشينج و ليس انكودينج
ولاكن يمكنك تغيير كلمة السر ( طبعا ان كان لك الصلاحية ) دون معرفة كلمة السر القديمة و ذلك عن طريق الامر alter user

بتاريخ:

بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاته،،
يمكن عمل ذلك بإذن الله
والخطوات هي
أن تقوم بتخزين اسم المستخدم الحالي وكلمة المرور وال Connect String في متغيرات وبعد ذلك Logout وبعد ذلك Logon باستخدام اسم المستخدم وكلمة المرور القديمة ثم تقوم بعمل أي أمر من أوامر SQL مثلا
SELECT COUNT(*) INTO XXX FROM DUAL;
مع عمل Exception طبعا انه في حالة الخطأ يظهر يتم عمل LOGON مرة أخرى بالمتغيرات التي حفظتها سابقا
وفي حالة نجاح جملة SQL تعمل LOGOUT ثم LOGON مرة أخرى بالمتغيرات التي حفظتها سابقا

بتاريخ:

وعليكم السلام ورحمة الله وبركاته أخي محمد سيد ،،

أن تقوم بتخزين اسم المستخدم الحالي وكلمة المرور

من الذي يقوم بعملية التخزين ؟!
* إذا كنت تقصد المبرمج .. من أين سيعرف كلمة المرور أصلاً ؟
* إذا كنت تقصد الـDBA .. هو أيضاً !! من أين سيأتي بكلمة المرور الحقيقية (الغير مشفرة) ؟
بتاريخ:
  • كاتب الموضوع

I couldn't understand u,please can you repeat that clearly......

بتاريخ:

الذي فهمته من كلامك:
أنك تريد أن تقارن كلمة المرور التي يدخلها اليوزر بكلمة المرور الحقيقية ..
وعليه،،
بما أن استرجاع القيمة الحقيقية لكلمة المرور شبه مستحيل .. فلابد من عمل Function تستطيع من خلالها تمرير كلمة المرور الحالية التي أدخلها اليوزو إلى الأوراكل سيرفر (أو ممكن تمرير القيم الثلاثة)

بعد كده تشوف القيمة التي تسترجعها الـFunction من السيرفر:
فإذا كانت القيمة أو النتيجة إيجابية ( بمعنى أن السيرفر أعطاك إشارة أن كلمة المرور الحالية التي أدخلها اليوزر تطابق قيمة كلمة المرور المشفرة لديه).. تستطيع

حينها استخدام الأمر ALTER USER بدون معرفة كلمة السر الحقيقة (الغير مشفرة).

هذا كمفهوم عام لحل المعضلة.

أما PASSWORD هو عبارة عن أمر (SQL*PLUS) تسطيع من خلاله تغيير كلمة المرور ،، ويطالبك بإعطائه القيم الثلاثة.
وبصراحة حاولت أجربه .. ويبدو انه لاينجح في هذه الحالة :D لأنه لا يقبل القيم دفعة واحدة !!

لكن لابد من وجود أمر أو دالة تستطيع التعامل مع هذه الحالة . . .

يلا ياخوانا شدو حيلكم معانا :( ... عاوزين كوووووووووووووووود

بتاريخ:

أخييييييييييييييييييييييييييراً ....

الموضوع طلع بسيط جداً جداً :D ... لا يحتاج إلى إنشاء أي Function

ALTER USER <user_name> IDENTIFYED BY <new_password> REPLACE <old_password>;



فإذا كانت قيمة old_password لا تتطابق كلمة المرور الحالية لليوزر ...... ببساطة الأوراكل سيرفر لا يقوم بتعديل كلمة المرور
ORA-28008: invalid old password

وجدت الحل في كتاب Oracle9i Reference

بتاريخ:

السلام عليكم ورحمة الله وبركاته،،
رائع يا أخ عروة

بتاريخ:
رائع يا أخ عروة


لا نستطيع معرفة كلمة السر الحالية لمستخدم ...
لكن إذا كنت DBA يمكنك عمل password verification function للتحقق من عدة أمور مثل:
password expiry time
number of attempts for logon
password 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%
:D
تحياتى

تم تعديل بواسطة Walid Azmy

بتاريخ:
  • كاتب الموضوع

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)...

بتاريخ:

صفحة 917

but it doesn't work

جرب أعمل يوزر جديد ولنفترض أنه SCOTT بكلمة مورو TIGER وأعطه صلاحية CONNECT
بعد ذلك:
ALTER USER scott IDENTIFIED BY lion REPLACE mouse;



ما النتيجة عندك ؟

بتاريخ:
  • كاتب الموضوع

ya ,sorry I found it in the book ,but the result is in the following picture:

post-23-1115194887_thumb.jpg

بتاريخ:

مع أي إصدار تتعامل حالياً ؟
8i
9.0
9.2
10g
؟

بتاريخ:
  • كاتب الموضوع

The Version is:9.0.1.0.1,Thanks....

بتاريخ:

Login as DBA and try:
Alter user scott identified by newpass;

بتاريخ:

يبدو أن REPLACE تعمل مع الإصدار 9.2 فقط
الدليل من هنا ..

لكن هذا رابط آخر يأكد أن أوراكل (Oracle Cal Interface) تحتوي على دالة ()OCIPasswordChange يتم الإستعان بها في مثل هذه الحالة ..

؟What is the Oracle Call Interface

وين ناس الـDeveloper ؟

بتاريخ:

السلام عليكم
انا جربت الامر يا اخ عروة مع الاصدار 8i و لكن ما نفع الامر
و ظهر لى نفس الخطا اللى ظهر للاخ عصام
و سلام

بتاريخ:

السلام عليكم ورحمة الله وبركاته،،
أنا جربت على أوراكل 10 وكانت النتيجة هي :

رائع يا أخ عروة

بتاريخ:
  • كاتب الموضوع

ساقوم انشالله بانزال Oracle DB 9.2 قريبا ,اتصور ان المشكلة عندي هي في اصدار الDB,شكرا للجميع ,و

رائع يا أخ عروة ...

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.