سؤال

أقوم بتطوير تطبيق ويب يتطلب تخزين اسم المستخدم وكلمة المرور في web.Config، ويشير أيضًا إلى بعض عناوين URL التي سيطلبها تطبيق الويب نفسه وليس العميل أبدًا.

أعلم أن إطار عمل .Net لن يسمح بتقديم ملف web.config، ومع ذلك ما زلت أعتقد أنه من الممارسات السيئة ترك هذا النوع من المعلومات في نص عادي.

كل ما قرأته حتى الآن يتطلب مني استخدام مفتاح سطر الأوامر أو تخزين القيم في سجل الخادم.ليس لدي إمكانية الوصول إلى أي منهما لأن المضيف متصل بالإنترنت وليس لدي سوى إمكانية الوصول إلى FTP ولوحة التحكم (الدفة).

هل يمكن لأي شخص أن يوصي بأي ملفات DLL أو طرق تشفير جيدة ومجانية يمكنني استخدامها؟أفضل عدم تطوير نفسي!

شكرًا على تعليقاتكم حتى الآن يا رفاق ولكني غير قادر على إصدار الأوامر وغير قادر على تحرير السجل.يجب أن يكون أداة مساعدة/أداة تشفير ولكن أتساءل فقط أيهما!

هل كانت مفيدة؟

المحلول

يحرر:
إذا لم تتمكن من استخدام الأداة المساعدة asp، فيمكنك تشفير ملف التكوين باستخدام قسم المعلومات. قسم الحماية طريقة.

عينة من مشروع الكود:

تشفير سلاسل الاتصال داخل Web.config في ASP.Net 2.0

نصائح أخرى

رغم أن الأمر يبدو واضحًا للوهلة الأولى، إلا أن هناك بعض العقبات التي واجهتها.

لذلك أقدم الخطوات التي نجحت بالنسبة لي (لتشفير ملف إعدادات التطبيقات القسم) باستخدام موفر التشفير الافتراضي:

تشفير الأقسام في web.config:

  1. افتح غلاف أوامر المسؤول (run كمسؤول!).سيتم تشغيل موجه الأوامر C: والذي يفترض للخطوات أدناه.
    من المفترض أيضًا أن يتم نشر التطبيق على D:\Apps\myApp - استبدل هذا بالمسار الذي تستخدمه الخطوه 3.
  2. cd "C:\Windows\Microsoft.NET\Framework64\v4.0.30319", ، تستخدم أنظمة Windows 32 بت Framework بدلاً من Framework64
  3. cd /D "D:\Apps\myApp"
    ملحوظة: ال /D سيقوم المفتاح بتغيير محرك الأقراص تلقائيًا إذا كان مختلفًا عن محرك الأقراص الحالي.هنا سيتم تغيير المسار ومحرك الأقراص، لذلك سيكون الدليل الحالي D:\Apps\myApp عقب ذلك مباشرة.
  4. c:aspnet_regiis -pef appConfig .

يجب أن تشاهد هذه الرسالة:

Microsoft (R) ASP.NET REGIIS الإصدار 4.0.30319.0 الأداة المساعدة لتثبيت وإلغاء تثبيت ASP.NET على الجهاز المحلي.حقوق الطبع والنشر (C) لشركة مايكروسوفت.كل الحقوق محفوظة.تشفير قسم التكوين...نجحت!

بامكانك ايضا فك التشفير الأقسام في web.config:هذه هي نفس الخطوات، ولكن مع الخيار -pdf بدلاً من -pef ل aspnet_regiis.

من الممكن أيضًا تشفير أقسام أخرى من web.config الخاص بك، على سبيل المثال يمكنك ذلك تشفير سلاسل الاتصال القسم عبر:

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

يمكن العثور على مزيد من التفاصيل حول ذلك هنا.


ملحوظة: التشفير أعلاه هو شفاف إلى تطبيق الويب الخاص بك، على سبيل المثال.لا يتعرف تطبيق الويب الخاص بك على أن الإعدادات مشفرة.
يمكنك أيضًا اختيار الاستخدام غير شفافة التشفير، على سبيل المثال باستخدام DPAPI من Microsoft أو باستخدام الخدمات المعمارية والهندسية جنبا إلى جنب مع الإطار فئة AES.
كيف يتم ذلك مع دبابي لقد وصفت هنا في Stackoverflow.يعمل DPAPI بشكل مشابه جدًا، بمعنى أنه يستخدم مفاتيح الجهاز أو بيانات اعتماد المستخدم.عمومًا، تشفير غير شفاف يمنحك المزيد من التحكم، على سبيل المثال يمكنك إضافة SALT، أو يمكنك استخدام مفتاح بناءً على عبارة مرور المستخدم.إذا كنت تريد معرفة المزيد حول كيفية إنشاء مفتاح من عبارة مرور، فابحث هنا.

استخدم aspnet_setreg.exe http://support.microsoft.com/kb/329290

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top