بيانات المستخدم التعقيم : كيف وأين نفعل ذلك
بيانات المستخدم يمكن أن تكون خطيرة. لا يمكن أيا كان المستخدم لوازم والبيانات ، ولا سيما في تطبيق ويب ، يفترض أن تكون آمنة. على العكس من ذلك ، هناك العديد من المستخدمين الخبثاء الذين يحاولون استغلال كل ثغرة أمنية في التطبيق الخاص بك. [إكسس] ، CSRF ، مزود حقن الهجمات مألوفة لمعظم لكم. (إذا لم يكن كذلك ، يذهب الرقم بها والعودة بسرعة.) ومن أجل حماية التطبيق الخاص بك من مثل هذه الهجمات تحتاج إلى تطهير بيانات المستخدم بحيث أنه لا يفعل أي شيء ضار على النظام الخاص بك.
تجري مناقشة السؤال الكبير بقوة في تنمية المجتمعات المحلية على شبكة الإنترنت هو :
حيث لتطهير بيانات المستخدم؟ وينبغي أن يتم ذلك في مرحلة الإدخال حيث يتم إدخال البيانات من قبل المستخدم أو في مرحلة الانتاج ، حيث يتم عرض البيانات إلى المستخدم؟
الحل ، في رأيي ، (وحسب رأي مجموعة كبيرة من الخبراء في هذا المجال) هو القيام الإبراء المزدوجة. التحقق من صحة واحد ومزود الهروب قبل أن يذهب إلى قاعدة بيانات واحدة والإبراء (الترشيح والهروب) قبل التوجه الى الإخراج.
ولذا فإن عملية يتلخص أساسا في التحقق من صحة في المدخلات والهروب في الإخراج. وفيما يلي الأسباب التي يجب عليك الذهاب بهذه الطريقة بدلا من الهروب والصرف الصحي في الإدخال وحده :
- الطريقة البيانات يحتاج إلى تطهير يعتمد على السياق هو المقصود من البيانات لاستخدامها. على سبيل المثال ، إذا كانت البيانات ليتم تخزينها في قاعدة بيانات ، ونحن بحاجة للهروب من 'لمنع وقوع هجمات مزود حقن. إذا كانت البيانات ليتم عرضها في الإخراج أتش تي أم أل ، ونحن بحاجة للهروب من <و> أحرف لمنع الهجمات [إكسس]. في مرحلة الإدخال لا يمكننا استباق السبل التي يمكن للبيانات هو على وشك أن يستخدم ، لذلك فمن الأفضل أن تطهير البيانات قبل مرحلة الانتاج عندما يكون من الواضح فيها البيانات يجري.
- لا يمكنك ان تكون دائما على يقين من أن البيانات في قاعدة البيانات هو تطهير البيانات. لا يمكنك أن تضمن أنها جاءت من مصادر البيانات توقعنا أن تأتي من. هناك فرصة أن البيانات التي انتهى بها المطاف في قاعدة البيانات من خلال المسار حيث لم تكن قد وضعت المطهر الإدخال. ما إذا كان مستخدم تحريرها مباشرة في قاعدة البيانات لإضافة بعض البيانات؟ ما إذا كانت هناك ثغرات في المطهر الخاص بك؟ ماذا لو وضعت بيانات من قبل مزود حقن الهجوم ضد قاعدة البيانات الخاصة بك؟ كل هذه النقاط يقول لنا أننا في حاجة إلى تطهير بيانات المستخدم حيث يتم استخدامه -- التي هي في مرحلة الانتاج.
- قد يكون هناك غيرها من التطبيقات التي تستخدم البيانات من قاعدة البيانات. وعلى سبيل المثال قد طلب مكتوب بلغة كوبول تستخدم البيانات من قاعدة البيانات لتوليد بعض التقارير معها. إذا كانت البيانات بالفعل في قاعدة البيانات في شكل نصي <مرحبا العالم ، وتطبيق كوبول لن تتمكن من معنى للخروج من البيانات. وسوف يكون لتنفيذ فك الخاصة بها لقراءة البيانات. هذه هي عملية شاقة للغاية. يمكننا تجنب حالات مثل هذه البيانات إذا كنا لا يدفع المجهزة في قاعدة البيانات.
- ومن الأفضل دائما الحصول على بيانات دون تغيير في قاعدة بيانات نقية بحيث تكون فإنه يمكن معالجتها بسهولة من قبل كافة التطبيقات باستخدام البيانات. مرة واحدة ونحن تطهير البيانات قبل يتم تخزينها في قاعدة البيانات ، هناك لن يتراجع. فمن الصعب حقا للحصول على البيانات الأصلية المقدمة من قبل المستخدم مرة أخرى بعد القيام بكل هذه التصفية والهروب التقنيات. من ناحية أخرى ، إذا كان لدينا دون تغيير البيانات في قاعدة البيانات فمن السهل الخروج منه في وقت لاحق فيما يتعلق بكل التطبيق باستخدام البيانات.
- وهناك حاجة على أي حال ووفقا لبيانات الإبراء النقاط المذكورة أعلاه ، في إخراج لأسباب واضحة. إذا أردنا الترميز لبيانات المستخدم في الإدخال وكذلك في انتاج والبيانات سوف تكون في شكل مضاعف المشفرة وانها لن تكون مفيدة على الاطلاق. ليست هناك حاجة لمضاعفة الإبراء على أي حال. لذا فمن المستحسن دائما لتشفير البيانات الخاصة بك إلى تنسيق الهدف فقط قبل تمرير البيانات إلى نظام الهدف.
- وذكرت المستخدمين لديها ثغرات أمنية مع التطبيقات مثل بريس عندما يعرض قيم قاعدة البيانات دون ترميز لتنسيق أتش تي أم أل. المطورين من المتوقع بريس البيانات في قواعد بيانات المستخدم ليكون خاليا من أي شيفرة خبيثة ، ولكن قد لا يكون الأمر كذلك. لذلك التطبيق الخاص بك يحتاج الإبراء الانتاج وخاصة إذا كنت تستخدم بيانات النموذج مصادر خارجية. ثقة أبدا أي بيانات في طريقها الخاص.
- افترض أنك تستخدم الإبراء الإدخال. إذا كان هناك بعض الشوائب في المطهر ، وزحف البيانات الخبيثة في قاعدة البيانات والآن لديك لإصلاح المطهر وإزالة كافة البيانات خبيثة من قاعدة البيانات. هذا يمكن ان يكون مهمة شاقة للغاية. ولكن اذا كنت تستخدم المطهر الانتاج ، كنت فقط لتعديل التعليمات البرمجية لإصلاح ثغرة أمنية.
حتى كيفية القيام بذلك sanization الخطوة الثانية؟ هنا هو كيف :
- ويأتي في بيانات المستخدم
- التحقق من صحة البيانات
- اذا كان صحيحا ، لا مزود الهروب وتخزينها في قاعدة البيانات. ( mysql_real_escape_string () في بي)
- إذا كان غير صالح ، رفض البيانات. لا تحاول تعديل البيانات ويدفع به إلى قاعدة البيانات. وهذا لا يضر أكثر مما ينفع. وسوف المستخدم أعتقد أن البيانات مرت بنجاح في حين أن البيانات في قاعدة البيانات سوف يكون شيئا آخر. حتى مجرد قبول أو رفض بيانات المستخدم. لا تحاول تغيير ذلك.
- إخراج : إذا كانت البيانات يتم الانتقال إلى صفحة أتش تي أم أل ، أتش تي أم أل للهروب. ( htmlentities () في بي). إذا كانت البيانات يتم الانتقال إلى سطر الأوامر يونيكس ، والهروب لقذيفة ( escapeshellarg () في بي). إذا كانت البيانات يتم الانتقال إلى ، ترميز البيانات عنوان عنوان ( urlencode () في بي) ، إلخ.
في خطوة التحقق من الصحة ، تحقق من وجود الترميز المناسب للبيانات -- URL/UTF-7/Unicode/US-ASCII الخ ثم معرفة ما اذا كان يحتوي على البيانات الصحيحة مجموعة الأحرف. يسمح فقط الأحرف التي تحتاج فعلا للتطبيق. وضع حد لطول البيانات المدخلة. تذكر أن المهاجم عادة ما يجعل استخدام الجمل الطويلة لصياغة هجوم. تحقق ما إذا كان تنسيق البيانات صحيحة أم لا. وينبغي أن تحتوي على أرقام هواتف فقط ؛ عناوين البريد الإلكتروني يجب أن يحتوي النص في شكل البريد الالكتروني محددة الخ.
دوما استخدام أساليب أو والأطر التي توفرها لغتك / منصة للقيام بهذا الهروب والترميز / فك الترميز. معظم لغات هناك دعم هذه العمليات. جاوة هو استثناء على الرغم من : عند استخدام جافا ، يجب عليك أن تكتب بنفسك أساليب التعامل مع أتش تي أم أل ترميز / فك التشفير.
وأخيرا ، عند إرسال البيانات إلى مستعرض ويب ، تذكر لتعيين الترميز المناسب للصفحة على شبكة الإنترنت. ويمكن القيام بذلك باستخدام السمة رأس استجابة أو استخدام العلامات الفوقية. ومن المستحسن استخدام كل الأساليب. لا يمكن نسيان هذه الخطوة المعونة بعض أنواع الهجمات [إكسس].
اهتمامات أخرى
بعض المواقع تحتاج إلى إدخال المستخدم والإخراج أتش تي أم أل نفسها -- على سبيل المثال المواقع التي تسمح تحرير أتش تي أم أل. في هذه الحالة لا يمكنك أن تفعل الترميز في التطبيق الخاص بك. تذكر لاستخدامها لإضافة الآليات المناسبة لتصفية السماح به إلا أن المقصود. كتلة دوما به يحتمل أن تكون خطرة مثل </ النصي <script>
اقرأ المزيد على العنوان التالي :



[...]Finalmente ، quiero compartir إستي pequeño artículo. [...]