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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكن ان اعمل هذا rabeh.ram 5 130 24-05-17, 12:36 PM
آخر رد: rabeh.ram
  كيف يمكن عمل هذا الاستخراج rabeh.ram 2 54 19-05-17, 04:31 PM
آخر رد: rabeh.ram
Exclamation [سؤال] كيفية التعامل مع الdataset في الوضع المنفصل في الفيجوال البيسك 2010 moh_g 4 110 16-05-17, 06:50 PM
آخر رد: moh_g
  كيف يمكن برمجة هذا rabeh.ram 2 85 08-05-17, 03:13 PM
آخر رد: rabeh.ram
  هل فيه كتاب يشرح التعامل مع الداتا ست في فيجوال دوت نت 2008 samawi 3 114 30-04-17, 10:44 PM
آخر رد: ابو ليلى
  [VB.NET] التعامل مع الوقت وقسمته فى فيجوال بيسك دوت نت TAMER ELMORSY 2 84 30-04-17, 01:42 PM
آخر رد: TAMER ELMORSY
  [سؤال] هل يمكن جمع قيمة من تكست مع حقل في قاعدة البيانات كود برمجي 6 126 29-04-17, 11:44 PM
آخر رد: rmlq
  التعامل مع الملفات النصية aftfm 2 84 15-04-17, 12:01 PM
آخر رد: aftfm
  كيف يمكن تعديل كموبوكس داخل داتا جريد كفاح 0 72 14-04-17, 12:34 PM
آخر رد: كفاح
  كيف يمكن إستخراج المفتاح من رقم الحساب ahmedfa71 3 147 13-04-17, 11:38 AM
آخر رد: ahmedfa71

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


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