تقييم الموضوع :
  • 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
الرد }}}}
تم الشكر بواسطة: عبد الله


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيف يمكن الضغط علي خلية او سطر في كريستال ريبورت يفتح نموذج ما للتعديل علية السيد الجوهري 0 36 12-12-17, 12:33 PM
آخر رد: السيد الجوهري
  هل يمكن كتابة كلاس داخل كلاس anes 2 77 09-12-17, 10:21 PM
آخر رد: anes
  التعامل مع المكتبات anes 3 99 05-12-17, 05:52 PM
آخر رد: anes
  [سؤال] طلب في التعامل مع اكسل adam mostafa 7 158 24-11-17, 12:55 AM
آخر رد: السندبااد
  هل يمكن تحويل ال Query في السيكوال الي جدول مثل الاكسس khaled12345 2 95 19-11-17, 02:02 PM
آخر رد: khaled12345
  كيف يمكن حذف السطور الصفرية من داتا جريد فيو السيد الجوهري 3 78 18-11-17, 07:07 PM
آخر رد: ﻣﺒﺘﺪﺉ
  [VB.NET] كيف يمكن حل مشكلة التعديل و التحديث و الحذف larbihamri 2 118 04-11-17, 08:45 PM
آخر رد: larbihamri
  مشكلة عند التعامل مع DevExpress آمل أن أجد لها حلًا أحمد إبراهيم سعد 10 412 23-09-17, 11:47 PM
آخر رد: أحمد إبراهيم سعد
  [VB.NET] التعامل مع DataGrideView 0theghost0 8 248 01-09-17, 06:35 PM
آخر رد: 0theghost0
  هل يوجد كتاب متخصص في التعامل مع الصور في فيجوال بيسك 2013 rafaag777 1 187 20-08-17, 10:55 PM
آخر رد: العواد الصغير

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


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