موصى به: شرح مفصل لكائن ملفات الملفات من ASP هل يوجد محرك الأقراص المحدد؟ يوضح هذا المثال كيفية استخدام طريقة محرك الأقراص لاكتشاف ما إذا كان محرك الأقراص موجودًا. الرمز كما يلي: HTML Body ٪ setfs = server.createObject (scripting.filesystemObject) ifffs.drivexists (c :) = truethen respons
بعد تعليق قاعدة البيانات ، لا يعرف الكثير من الأشخاص كيفية التعامل معها ، أو أن المعالجة غير مكتملة ، مما يؤدي إلى ظهور أحصنة طروادة بعد فتح صفحة الويب. تقدم هذه المقالة حلًا أفضل للرجوع إليه.الخطوة 1 : قم بعمل نسخ احتياطية لقواعد البيانات الحالية.
الخطوة 2 : قم بتنفيذ ملف ASP التالي لإزالة طروادة JS في قاعدة البيانات. (ملاحظة: تم حذف conn.asp)
| ضع محتوى JS Trojan هنا: يرجى تذكر تغييره إلى محتوى JS Trojan في قاعدة البيانات الخاصة بك. <!-#includefile = conn.asp-> <٪ server.scriptTimeout = 180 setRstschema = conn.openschema (20) ك = 1 dountilrstschema.eof 'جداول قاعدة البيانات ifrstschema (table_type) = tableThen Response.writek &. <fontcolor = red> <b> & rstschema (table_name) & </b> </font>: 'show table name setRs = server.createBject (adodb.recordset) SQL = SELECT*FROM [& RSTSCHEMA (TABLE_NAME) &] Rs.Opensql ، Conn ، 1،3 fori = 0tors.fields.count-1 'السفر الحقول في الجدول ifint (rs (i) .type) = 129orint (rs (i) .type) = 130orint (rs (i) .type) = 200orint (rs (i) .type) = 201Orint (i) conn.execute (تحديث [& rstschema (table_name) &] set & rs (i) .Name & = replive (cast (& rs (i) .Name & Asvarchar (8000)) ، 'Pub JS Trojan Content هنا' ، '')) Response.writers (i) .Name && rs (i) .type & 'عرض اسم الحقل المنفذ. Endif التالي الرد. write <br> Endif RSTSCHEMA.Movenext ك = ك+1 حلقة استجابة. تنفيذ التنفيذ بنجاح ٪> |
إذا كان هناك العديد من جداول قاعدة البيانات ، فسيتم إيقاف بنية قاعدة بيانات اجتياز أعلاه بواسطة IIS قبل تنفيذها. في هذا الوقت ، يمكنك
| إذا كان rstschema (table_type) = جدول ثم |
تمت إضافة نطاق قيم K بشكل مناسب ، مثل:
| ifrstschema (table_type) = tablek> 10andk <20then |
وبهذه الطريقة ، يتم تشغيل 9 طاولات فقط في وقت واحد.
الخطوة 3 :
وفقًا لخصائص حقن قاعدة البيانات JS (والتي ستشمل أحرفًا مثل <script ، </script> و http: //) ،
ضع الكود التالي في conn.asp:
| FunctionCheAck_sqljs () 'يمنع قاعدة البيانات الخارجي JS حقن: TRUE هو اكتشاف حقن الرابط الخارجي JS. dimf_post ، f_get check_sqljs = false ifrequest.form <> ثم اكتشاف النموذج foreachf_postinRequest.form إذا (instr (request.form (f_post)) ، <script) <> 0orinstr (lace (request.form (f_post)) ، </script>) <> 0) andInstr (requer.form (f_post)) ، http: //) <> 0then check_sqljs = صحيح الخروج Endif التالي Endif ifrequest.querystring <> ثم اكتشاف على التقديم QueryString foreachf_getinrequest.querystring if (instr (request.form (f_get)) ، <script) <> 0orinstr (lace (request.form (f_get)) ، </script>) <> 0) andinstr (lace.form (f_get)) ، http: //) <> 0then check_sqljs = صحيح الخروج Endif التالي Endif الوظيفية FunctionCheckDatafrom () "تحقق من البيانات المقدمة: يتم إرسال TRUE من خارج الموقع checkDatafrom = صحيح server_v1 = cstr (request.servervariables (http_referer)) server_v2 = cstr (request.servervariables (server_name)) IFMID (server_v1،8 ، len (server_v2)) <> server_v2then checkDatafrom = false Endif الوظيفية ifcheack_sqljsorcheckdatafromthen استجابة. write <scriptlanguage = javaScript> تنبيه ('التنفيذ محظور ، تشغيل غير قانوني.') ؛ </script> استجابة. Endif |
المشاركة: البرنامج التعليمي لتفسير روتين مكالمة ASP يمكن لبرامج ASP استدعاء الروتين الفرعي من خلال VBScript وطرق أخرى. اتصل بروتين فرعي باستخدام VBScript ، رمز العينة: HTML HEAD ٪ subvbproc (num1 ، num2).