من السهل تطوير موقع ASP مع Dreamweaver. فلا يوجد فرق بين المبتدئين والمحاربين القدامى؟ الفرق في ذلك كبير ، ولكن من الصعب على الشخص العادي أن يرى في لمحة. الصداقة والأداء التشغيلي وأمن الويب للواجهة هي نقاط التركيز الثلاث التي تختلف عن المبتدئين والمحاربين القدامى.
فيما يتعلق بالأمان ، فإن أسهل مشكلة المبتدئين هي مشكلة نقاط الضعف التي تم حقنها SQL. استخدم NBSI 2.0 لمسح بعض مواقع الويب ASP على الإنترنت ، ويمكنك أن تجد أن العديد من مواقع ASP لديها نقاط ضعف في حقن SQL.
تتمثل حقن SQL في SQL (حقن SQL) في استخدام ثغرات بيانات إدخال المبرمج إلى بيانات إدخال المستخدم ، والتي تستخدم الثغرات مثل الكشف غير الكافي أو عدم اكتشافها.
يمكن ملاحظة أن السبب الرئيسي لحقن SQL للهجمات لا يتحقق من البيانات التي أدخلها المستخدم.
إن طلب HTTP العام ليس أكثر من الحصول على ونشره ، طالما قمنا بتصفية جميع معلومات المعلمة لجميع المنشورات أو الحصول على طلبات في البرنامج ، يمكننا منع هجمات حقن SQL.
لسوء الحظ ، لا توفر DW الكود ذي الصلة ، لذلك إذا كنت ترغب في منع هجوم نوع حقن SQL ، فأنت بحاجة إلى تعديله.
ما عليك سوى حفظ البرنامج التالي كـ sqlinjection.asp ، ثم اتصل برأس الصفحات التي يجب حقنها.
<!-#تضمين ملف = sqlinjection.asp->
يمكنك القيام بحقن الدفاع في الصفحة.
إذا كنت ترغب في الرجوع إلى المحطة بأكملها ، فأضف مكالمات الرأس أو إضافة رمز البرنامج التالي مباشرة في ملف اتصال قاعدة البيانات الذي تم إنشاؤه بواسطة الاتصال الذي تم إنشاؤه بواسطة DW. ملف اتصال قاعدة البيانات.
رمز البرنامج العام (مقتبس من الإنترنت لإجراء التغييرات المناسبة) على النحو التالي:
<٪
'--------- أجزاء التعريف -----------------
DIM SQL_INJDATA
sql_injdata = '|
|
|
sql_inj = split (sql_injdata ، | | | |
'-------------------------
إذا طلب. QuareString <> ثم
لكل sql_get في request.querystring
لـ SQL_DATA = 0 إلى Ubound (SQL_INJ)
إذا instr (request.querystring (sql_get) ،
sql_inj (sql_data))> 0 ثم
استجابة. write <script language = javaScript>
تنبيه ('يذكرك النظام!/n/n ، يرجى عدم محاولة أحرف غير قانونية في محاولة حقن!/n/n') ؛
استجابة
إنهاء إذا
التالي
التالي
إنهاء إذا
'-------- الحصول على أجزاء -------------------
إذا طلب.
لكل sql_post في request.form
لـ SQL_DATA = 0 إلى Ubound (SQL_INJ)
if instr (request.form (sql_post) ، sql_inj (sql_data))> 0 ثم
استجابة. write <script language = javaScript>
تنبيه ('يذكرك النظام!/n/n ، يرجى عدم محاولة أحرف غير قانونية في محاولة حقن!/n/n') ؛
استجابة
إنهاء إذا
التالي
التالي
إنهاء إذا
٪>
من خلال البرنامج أعلاه ، يمكن تحقيق شخصية حقن الخطر SQL المقدمة من طريقة GET أو طريقة النشر ، ويتم تحذير الغزاة من التحول إلى الفهرس (الصفحة الرئيسية).