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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكن تصدير ascx كملف dll justforit 1 134 06-12-25, 12:33 AM
آخر رد: salamandal
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 270 02-11-25, 11:19 PM
آخر رد: justforit
  كيف يمكن تحريك الفورم بأستخدام زر heem1986 2 587 30-03-25, 01:58 AM
آخر رد: heem1986
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 780 07-02-25, 07:57 PM
آخر رد: الورد2
  كيفية التعامل مع inputbox في فيجوال ستوديو أسامة حسين 4 3,500 14-01-25, 02:04 AM
آخر رد: أبو خالد الشكري
  كيف يمكن أشاء أسكربت لقاعدة بيانات sql heem1986 3 414 29-10-24, 08:37 PM
آخر رد: aliday03
  أسرع طريقة يمكن بها نقل جدول Table من قاعدة بيانات على النت إلى أخرى محلية mmaalmesry 2 593 19-10-24, 09:26 PM
آخر رد: mmaalmesry
  كيف يمكن اضافة عناصر للكومبوبوكس اثناء تشغيل البرنامج عن طريق المستخدم haithammoftah 3 2,160 30-09-24, 12:52 AM
آخر رد: asmarsou
  سؤال عن طريقة التعامل مع الفاصلة العشرية المتألق9 2 520 28-09-24, 04:45 PM
آخر رد: المتألق9
  التعامل مع موقع ويب لجلب صورة لالفيجوال بيزك صبري زينوبي 3 442 09-09-24, 11:22 PM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: