التحقق من صحة البيانات
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( نوفمبر 2016 ) |
في الحوسبة ، يعد التحقق من صحة البيانات أو التحقق من صحة المدخلات عملية ضمان خضوع البيانات لعملية تنقية البيانات للتأكد من جودتها ، أي أنها صحيحة ومفيدة. ويستخدم هذا الإجراء روتينات، غالبًا ما تسمى "قواعد التحقق" أو "قيود التحقق" أو "إجراءات التحقق"، والتي تتحقق من صحة البيانات المدخلة إلى النظام ومعناها وأمانها. ويمكن تنفيذ القواعد من خلال المرافق الآلية لقاموس البيانات ، أو من خلال تضمين منطق التحقق الصريح لبرنامج التطبيق للكمبيوتر وتطبيقه.
وهذا يختلف عن التحقق الرسمي ، الذي يحاول إثبات أو دحض صحة الخوارزميات المستخدمة في تنفيذ المواصفات أو الخصائص.
ملخص
تهدف عملية التحقق من صحة البيانات إلى توفير ضمانات محددة جيدًا لملاءمة البيانات وتناسقها في تطبيق أو نظام آلي. يمكن تعريف قواعد التحقق من صحة البيانات وتصميمها باستخدام منهجيات مختلفة، ونشرها في سياقات مختلفة. [1] يمكن أن يستخدم تنفيذها قواعد سلامة البيانات التصريحية ، أو قواعد العمل القائمة على الإجراءات . [2]
لا تتضمن ضمانات التحقق من صحة البيانات بالضرورة الدقة، ومن الممكن قبول أخطاء إدخال البيانات مثل الأخطاء الإملائية على أنها صحيحة. يمكن تطبيق ضوابط إدارية و/أو حاسوبية أخرى للحد من عدم الدقة داخل النظام.
أنواع مختلفة
عند تقييم أساسيات التحقق من صحة البيانات، يمكن إجراء تعميمات فيما يتعلق بأنواع التحقق المختلفة وفقًا لنطاقها وتعقيدها والغرض منها.
على سبيل المثال:
- التحقق من نوع البيانات؛
- التحقق من صحة النطاق والقيود؛
- التحقق من صحة الكود والمراجع المتبادلة؛
- التحقق المنظم؛ و
- التحقق من الاتساق
التحقق من نوع البيانات
يتم عادةً إجراء التحقق من صحة نوع البيانات على حقل بيانات بسيط واحد أو أكثر.
إن أبسط أنواع التحقق من صحة نوع البيانات هو التحقق من أن الأحرف الفردية المقدمة من خلال إدخال المستخدم تتوافق مع الأحرف المتوقعة لنوع أو أكثر من أنواع البيانات البدائية المعروفة كما هو محدد في لغة برمجة أو آلية تخزين واسترجاع البيانات.
على سبيل المثال، قد يتطلب حقل عدد صحيح إدخالًا لاستخدام الأحرف من 0 إلى 9 فقط.
التحقق البسيط من النطاق والقيود
قد يفحص التحقق البسيط من النطاق والقيد المدخلات للتأكد من اتساقها مع نطاق أدنى/أقصى، أو اتساقها مع اختبار لتقييم تسلسل من الأحرف، مثل اختبار واحد أو أكثر ضد التعبيرات العادية. على سبيل المثال، قد تكون قيمة العداد مطلوبة لتكون عددًا صحيحًا غير سلبي، وقد تكون كلمة المرور مطلوبة لتلبية الحد الأدنى من الطول وتحتوي على أحرف من فئات متعددة.
التحقق من الكود والمراجع المتقاطعة
تتضمن عملية التحقق من صحة الكود والمراجع المتبادلة عمليات للتحقق من أن البيانات متوافقة مع قاعدة أو أكثر من القواعد أو المتطلبات أو المجموعات الخارجية المحتملة ذات الصلة بمنظمة أو سياق أو مجموعة من الافتراضات الأساسية. قد تتضمن قيود الصلاحية الإضافية هذه مراجع متبادلة للبيانات المقدمة مع جدول بحث معروف أو خدمة معلومات الدليل مثل LDAP .
على سبيل المثال، قد يكون مطلوبًا إدخال رمز البلد الذي يقدمه المستخدم لتحديد منطقة جيوسياسية حالية.
فحص منظم
يتيح التحقق المنظم الجمع بين أنواع أخرى من التحقق، إلى جانب معالجة أكثر تعقيدًا. وقد تتضمن هذه المعالجة المعقدة اختبار القيود الشرطية لكائن بيانات معقد بالكامل أو مجموعة من عمليات المعالجة داخل النظام.
التحقق من الاتساق
يضمن التحقق من الاتساق أن تكون البيانات منطقية. على سبيل المثال، يمكن منع تاريخ تسليم الطلب من أن يسبق تاريخ شحنه.
مثال
تتعلق أنواع متعددة من التحقق من صحة البيانات بأرقام ISBN المكونة من 10 أرقام قبل عام 2007 (تطلبت طبعة عام 2005 من ISO 2108 أن تحتوي أرقام ISBN على 13 رقمًا من عام 2007 فصاعدًا [3] ).
- الحجم. يجب أن يتكون رقم ISBN قبل عام 2007 من 10 أرقام، مع وجود علامات وصل أو مسافات اختيارية تفصل بين أجزائه الأربعة.
- التحقق من التنسيق. يجب أن يكون كل رقم من الأرقام التسعة الأولى من 0 إلى 9، ويجب أن يكون الرقم العاشر من 0 إلى 9 أو علامة X.
- رقم التحقق . للكشف عن أخطاء النسخ التي تم فيها تغيير أو نقل الأرقام، يجب أن يتطابق الرقم الأخير من رقم ISBN قبل عام 2007 مع نتيجة صيغة رياضية تتضمن الأرقام التسعة الأخرى ( أرقام التحقق في رقم ISBN-10 ).
أنواع التحقق
- عمليات التحقق من الأحرف المسموح بها
- التحقق من وجود الأحرف المتوقعة فقط في الحقل. على سبيل المثال، قد يسمح الحقل الرقمي فقط بالأرقام من 0 إلى 9 والفاصلة العشرية وربما علامة الطرح أو الفواصل. قد لا يسمح حقل نصي مثل الاسم الشخصي بالأحرف المستخدمة للترميز . قد يتطلب عنوان البريد الإلكتروني علامة @ واحدة على الأقل والعديد من التفاصيل البنيوية الأخرى. يمكن أن تكون التعبيرات العادية طرقًا فعالة لتنفيذ مثل هذه الفحوصات.
- مجموع الدفعات
- التحقق من السجلات المفقودة. يمكن إضافة الحقول الرقمية معًا لجميع السجلات في دفعة واحدة. يتم إدخال إجمالي الدفعة ويتحقق الكمبيوتر من صحة الإجمالي، على سبيل المثال، إضافة حقل "التكلفة الإجمالية" لعدد من المعاملات معًا.
- التحقق من الكاردينالية
- التحقق من أن السجل يحتوي على عدد صحيح من السجلات ذات الصلة. على سبيل المثال، إذا تم تصنيف سجل جهة اتصال على أنه "عميل"، فيجب أن يكون له على الأقل طلب مرتبط (عدد العناصر > 0). يمكن تعقيد هذا النوع من القواعد من خلال شروط إضافية. على سبيل المثال، إذا تم تصنيف سجل جهة اتصال في قاعدة بيانات الرواتب على أنه "موظف سابق"، فيجب ألا يكون له أي مدفوعات رواتب مرتبطة به بعد تاريخ الفصل (عدد العناصر = 0).
- التحقق من الأرقام
- تُستخدم للبيانات الرقمية. لدعم اكتشاف الأخطاء، تتم إضافة رقم إضافي إلى رقم يتم حسابه من الأرقام الأخرى.
- فحوصات الاتساق
- يتم فحص الحقول للتأكد من أن البيانات الموجودة في هذه الحقول تتوافق، على سبيل المثال، إذا كان تاريخ انتهاء الصلاحية في الماضي، فإن الحالة ليست "نشطة".
- التحقق من الاتساق عبر الأنظمة
- يقارن البيانات في أنظمة مختلفة للتأكد من اتساقها. قد تمثل الأنظمة نفس البيانات بشكل مختلف، وفي هذه الحالة تتطلب المقارنة التحويل (على سبيل المثال، قد يخزن نظام ما اسم العميل في حقل اسم واحد مثل "Doe, John Q"، بينما يستخدم نظام آخر الاسم الأول "John" والاسم الأخير "Doe" والاسم الأوسط "Quality").
- فحص نوع البيانات
- يتحقق من توافق الإدخال مع البيانات المكتوبة. على سبيل المثال، قد يرفض مربع الإدخال الذي يقبل البيانات الرقمية الحرف "O".
- التحقق من وجود الملف
- يتحقق من وجود ملف يحمل اسمًا محددًا. يعد هذا الفحص ضروريًا للبرامج التي تستخدم معالجة الملفات.
- التحقق من التنسيق
- التحقق من أن البيانات موجودة بتنسيق محدد (قالب)، على سبيل المثال، يجب أن تكون التواريخ بتنسيق YYYY-MM-DD. يمكن استخدام التعبيرات العادية لهذا النوع من التحقق.
- التحقق من الحضور
- التحقق من وجود البيانات، على سبيل المثال، قد يُطلب من العملاء الحصول على عنوان بريد إلكتروني.
- التحقق من المدى
- يتحقق من أن البيانات تقع ضمن نطاق محدد من القيم، على سبيل المثال، يجب أن يكون الاحتمال بين 0 و1.
- سلامة المرجعية
- يمكن ربط القيم في جدولين لقاعدة بيانات علائقية من خلال المفتاح الخارجي والمفتاح الأساسي. إذا لم تكن القيم في حقل المفتاح الخارجي مقيدة بآليات داخلية، فيجب التحقق من صحتها لضمان أن الجدول المرجعي يشير دائمًا إلى صف في الجدول المرجعي.
- التدقيق الإملائي والنحوي
- يبحث عن الأخطاء الإملائية والنحوية.
- التحقق من التفرد
- التحقق من أن كل قيمة فريدة. ويمكن تطبيق ذلك على عدة حقول (على سبيل المثال العنوان، الاسم الأول، الاسم الأخير).
- التحقق من الجدول
- تقوم عملية البحث في الجدول بمقارنة البيانات بمجموعة من القيم المسموح بها.
إجراءات ما بعد التحقق
يحتاج هذا القسم إلى مصادر إضافية للتحقق . ( يوليو 2012 ) |
- إجراءات التنفيذ
- عادةً ما يرفض إجراء التنفيذ طلب إدخال البيانات ويطلب من جهة الإدخال إجراء تغيير يجعل البيانات متوافقة. وهذا هو الأنسب للاستخدام التفاعلي، حيث يجلس شخص حقيقي على الكمبيوتر ويقوم بإدخال البيانات. كما أنه يعمل بشكل جيد للتحميل على دفعات، حيث قد يتم رفض إدخال ملف وإرسال مجموعة من الرسائل مرة أخرى إلى مصدر الإدخال لسبب رفض البيانات.
- يتضمن شكل آخر من أشكال إجراءات التنفيذ تغيير البيانات تلقائيًا وحفظ إصدار متوافق بدلاً من الإصدار الأصلي. وهذا هو الأنسب للتغيير التجميلي. على سبيل المثال، لا يحتاج تحويل إدخال [بالأحرف الكبيرة] إلى إدخال [حالة باسكال] إلى إدخال من المستخدم. سيكون الاستخدام غير المناسب للتنفيذ التلقائي في المواقف التي يؤدي فيها التنفيذ إلى فقدان معلومات العمل. على سبيل المثال، حفظ تعليق مقطوع إذا كان طوله أطول من المتوقع. هذا ليس بالأمر الجيد عادةً لأنه قد يؤدي إلى فقدان بيانات مهمة.
- الإجراء الاستشاري
- تسمح الإجراءات الاستشارية عادةً بإدخال البيانات دون تغيير، ولكنها ترسل رسالة إلى الجهة الفاعلة المصدر تشير إلى مشكلات التحقق التي واجهتها. وهذا هو الأنسب للأنظمة غير التفاعلية، وللأنظمة التي لا يكون فيها التغيير بالغ الأهمية للأعمال، ولخطوات تنظيف البيانات الموجودة وخطوات التحقق من عملية الإدخال.
- إجراء التحقق
- تعتبر إجراءات التحقق حالات خاصة من إجراءات الاستشارة. في هذه الحالة، يُطلب من الجهة المصدرة التحقق من أن هذه البيانات هي ما تريد إدخاله بالفعل، في ضوء اقتراح بخلاف ذلك. هنا، تقترح خطوة التحقق بديلاً (على سبيل المثال، يؤدي التحقق من عنوان بريد إلى إرجاع طريقة مختلفة لتنسيق هذا العنوان أو اقتراح عنوان مختلف تمامًا). في هذه الحالة، قد ترغب في منح المستخدم خيار قبول التوصية أو الاحتفاظ بنسخته. هذه ليست عملية تحقق صارمة، من حيث التصميم، وهي مفيدة لالتقاط العناوين لموقع جديد أو لموقع لا تدعمه قواعد بيانات التحقق بعد.
- سجل التحقق
- حتى في الحالات التي لم يجد فيها التحقق من صحة البيانات أي مشكلات، فإن توفير سجل للتحققات التي أجريت ونتائجها أمر مهم. وهذا مفيد لتحديد أي عمليات تحقق مفقودة من صحة البيانات في ضوء مشكلات البيانات وفي تحسين
التحقق والأمان
يمكن أن تؤدي الإخفاقات أو الإغفالات في التحقق من صحة البيانات إلى تلف البيانات أو ثغرة أمنية . [4] تتحقق عملية التحقق من صحة البيانات من أن البيانات مناسبة للغرض، [5] وصالحة ومعقولة ومنطقية وآمنة قبل معالجتها.
انظر أيضا
مراجع
- ^ منهجية التحقق من صحة البيانات 1.0
- ^ التحقق من صحة البيانات، سلامة البيانات، تصميم التطبيقات الموزعة باستخدام Visual Studio .NET
- ^ الأسئلة الشائعة حول معيار ISBN الجديد محفوظ في 10 يونيو 2007 على موقع Wayback Machine ISO .
- ^ الفصل 10. التحقق من صحة البيانات
- ^ التحقق من صحة البيانات بشكل أكثر كفاءة مع Spotless
روابط خارجية
- التحقق من صحة البيانات، OWASP
- التحقق من صحة الإدخال، سلسلة أوراق الغش الخاصة بـ OWASP، github.com
