تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف يمكن التعامل مع هذه الشفرة وفيها SecureString
#1
السلام عليكم ورحمة الله وبركاته

اخواني لدي هذه الشفرة
كود :
Shared Sub runRD(strIP As String, strUN As String, strPW As SecureString)
        Dim proc As New ProcessStartInfo
        proc.UseShellExecute = False
        proc.FileName = "MSTSC.exe"
        proc.Arguments = "/v:" & strIP
        proc.UserName = strUN
        proc.Password = strPW
        Process.Start(proc)
    End Sub
ومن خلالها استطيع ارسال بيانات لهذه الدالة ومنها استطيع تشغيل " برنامج سطح المكتب البعيد " Remote Desktop ، في بداية الأمر لم اكن استخدم اسم المستخدم وكلمة المرور والشفرة تعمل على أكمل وجه والحمد لله ، لكن بعد ضافة اسم المستخدم وكلمة المرور ظهرت لي معضلة مع المتغير strPW

كيف يمكن التعامل مع هذا النوع من المتغيرات علماً إني أرسل البيانات بهذه الطريقة
إقتباس :runRD(TextBox10.Text, TextBox1.Text, TextBox2.Text)

الدالة لا تستقبل قيمة من مربع نص مباشرة فكيف يمكن التعامل معها ؟
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم اخي عبد الله
التحويل الضمني في هذه الحالة لايصح
يجب ان تقوم بالتحويل الصريح
انا كنت بعدل المثال الان لاكن اكتشفت شئ خطير
عند بناء كائن جديد من New ProcessStartInfo يقبل منك 2 برمتر الاول سلسلة حرفية والاخر طول السلسلة
وعندما اردت تحويل المتغير strPW الي سلسلة حرفية لاسناده للدالة قالت ميكرو سوفت ان الامر لايصح لمستخدمي VB.NET
لانها تقبل سلسلة حرفية امنية وهي متوفرة في الـ #C فقط راجع
لا ادري هل هناك طريقة لتحويل متغير من نوع String الي SecureString في VB.NET
ممكن تعمل دالة في ملف ديل بالـ #C وتقوم باستخدامها في ذلك الامر
لا اعلم لعل احد من الاخوة يكون عنده حل
الرد }}}
تم الشكر بواسطة: عبد الله
#3
السلام عليكم ورحمة الله وبركاته

أخي الكريم
المشكلة كما قال لك الأخ علي ولكن تستطيع تمرير النص في أداة مربع النص إلى متغير من نوع SecureString وذلك بالطريقة التالية:

كود :
Dim SecureString1 As New SecureString
        For Each I As Char In TextBox2.Text.ToCharArray
            SecureString1.AppendChar(I)
        Next

وبعد ذلك تقوم باستدعاء الدالة بالشكل التالي

كود :
runRD(TextBox10.Text, TextBox1.Text, SecureString1)

بالتوفيق
الرد }}}
تم الشكر بواسطة: عبد الله
#4
السلام عليكم
جزاك الله خيرا اخي ابو محمد
انا فعلا شفت الاجراء AppendChar لاكني ظنيت انه يقبل حرف امني ايضا
كده المشكلة انحلت
الكود النهائي


كود :
Shared Sub runRD(strIP As String, strUN As String, strPW As String)
        Dim proc As New ProcessStartInfo
        proc.UseShellExecute = False
        proc.FileName = "MSTSC.exe"
        proc.Arguments = "/v:" & strIP
        proc.UserName = strUN
        For Each Cr As Char In Split(strPW) : proc.Password.AppendChar(Cr) : Next
        Process.Start(proc)
    End Sub
الرد }}}
تم الشكر بواسطة: عبد الله


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Exclamation [سؤال] كيف يمكن الغاء السوال عند الكتابة على ملف موجود dell 0 48 19-03-24, 01:23 AM
آخر رد: dell
  [VB.NET] كيف يمكن إخفاء ظهور الشاشة السوداء فى الـــ console AmeenRashed 2 316 15-11-23, 03:51 PM
آخر رد: justforit
  ما أسرع استضافة يمكن رفع المشروع عليها ؟ hazim1 0 197 03-10-23, 08:55 AM
آخر رد: hazim1
  كيف يمكن تأخير الـSplash Screen حتى يتم تحميل الأدوات بالكامل؟ hazim1 0 270 28-09-23, 08:23 AM
آخر رد: hazim1
  هل يمكن نسخ احتياطي لأسماء الButtons ؟ hazim1 2 238 21-09-23, 07:32 PM
آخر رد: hazim1
  سؤال حول التعامل مع قاعدة البيانات maherhaddaf 2 432 21-07-23, 10:05 AM
آخر رد: maherhaddaf
  هل يمكن عد الصفوف التالية للصف المُحدد في Datagridview ؟ hazim1 1 460 17-07-23, 09:04 PM
آخر رد: mrfenix93
  [SQL] كيف يمكن تعديل update أو حذف delete صف معين من جدول بدلالة رقم الصف ROW_NUMBER mmaalmesry 4 759 06-02-23, 09:42 AM
آخر رد: mmaalmesry
  التعامل مع الملفات النصية - حذف سطر معين من ملف mmaalmesry 2 583 20-01-23, 09:29 AM
آخر رد: mmaalmesry
  [VB.NET] كيف يمكن تنفيذ امر داخل الباور شل zooz313 2 775 17-12-22, 02:25 PM
آخر رد: kebboud

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم