# الأمن من خلال التنوع - لماذا لا أحب ' لا أحب طلب الvalidateRequest

<datetime class="hidden">2004-07-04T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
أنا أدرك أن هذا هو [وجهة نظر مثيرة للجدل](http://weblogs.asp.net/ShankuN/archive/2004/03/02/82534.aspx), يجب أن أشرح بعض خلفيتي الخاصة كبداية لشعوري بالخوف من هذا . في الأيام السيئة القديمة ,, كنت مخترباً للإختراق .; قمت بتشغيل شركتي الصغيرة التي قدمت هذه الخدمة لعدد من العملاء . إذن , مع تقدم الوقت و انتقلت أكثر إلى كتابة التطبيقات فعلياً بدلاً من هدمها أنا ' كنت دائماً أدرك أن نظم أمن التطبيقات لا ينبغي أن تُثق بغرائزها الاصطناعية . ., . في حين أن احتمال وجود أخطاء أقل من بعض الإعلانات .
ذلك 'جزء من المشكلة التي أملكها مع ValidateRequest , إنه يقدم حلاً بسيطاً لـ, مفتاحاً مختصراً للمطورة الлениاء | . | OK |, | إنه مفيد | , | أنه يمنع أي إدخال | | HTML | و ' | مثل المعلومات المطلبة | الـ - | وبالتالي سيقف العديد من XSS | [لقد وجدنا بالفعل عيوب في هذا](http://weblogs.asp.net/gad/archive/2003/11/12/37219.aspx) و اللاصقة ليست واضحة / من السهل العثور عليها ( هل سمعتم بها من قبل?) - لذلك ليس هناكM SK4 مشكل سيؤثر على جميع مواقع ASPMスク5NET MSSK6 التي تعتمد على هذه الخاصية لحمايةهم من هجمات XSSMSC7 أسوأ من ذلك МSK8 كم عدد المواقع التي تعتقد أنها ستأخذ تحذيرات إضافية فوق هذا لتحمي مدخلاتهم ♫- هل تعلمون إن كان يحميكم من [هجمات زرق SQL](http://www.developer.com/db/article.php/2243461), [هجمات التدفق الزائد للصفر](http://nts.jhu.edu/alerts/alert.detail.cfm?aid=218) وآخرون مختلفين ( بما في ذلك جواهرات مثل الباب الخلفي البسيط , [إختراق الكعك](http://www.experts-exchange.com/Security/Q_20851738.html) ومثل ).

وجهة نظري هي , من وجهة النظر الخاصة بي , مسؤولية أمن التطبيقات يجب أن تكمن على المطور | - عليهم أن يفهموا ويخططوا للتبعات للخيارات التي يقومون بها في تصميم التطبيقات |. | قراءة كتاب مثل [مايكل هوارد write Secure Code](http://www.amazon.co.uk/exec/obidos/ASIN/0735617228/mostlylucid-21) [[الولايات المتحدة](http://www.amazon.com/exec/obidos/ASIN/0735617228/mostlylucid-21)] - تعرف أين يمكن أن تكون الضعف في تطبيقك وتكافئها
باختصار , لا أعتمد على أشياء مثل ValidateRequest كوسيلتك الوحيدة للدفاع [ما تفعله في الواقع](http://weblogs.asp.net/vga/archive/2003/05/02/6329.aspx) وما الذي لا يفعله

على سبيل المثال, ما الذي ستفعله عندما تريد فقط بعض البطاقات أن تمرر وليس الاخرى? ربما تحتاج إلى النظر [شيء مثل هذا](/uploads/HtmlTagRemover.zip)(لقد كتبت هذا قبل فترة من الزمن - أنا' أنا لا أدعي أنّه

على أية حال , المشاهد دائماً مرحباً بـ

تحديث: نسيت أن أذكر, إن كنتم M SK2 لا تزالون على IIS 5.0 يجب أن تتأكدوا من الذهاب [IISLockdown](http://www.microsoft.com/windows2000/downloads/recommended/iislockdown/default.asp) - يجب أن يكون هذا مركباً , سوف يساعدك على تفادي عدد هائل من ثقب أمنية, معروفة | / المستقبل |... إذا كان لديك IIS | [انظروا الى هذا](http://weblogs.asp.net/lbarbieri/archive/2003/10/06/30678.aspx) لتجنب أي مشاكل في التطوير...