التحقق من المدخلات وأساسيات الهروب
تحققوا من المدخلات وطَبّعوا صيغتها باستخدام قوائم سماح وحراس صغيرة؛ وأفلتوا المحارف الخطرة قبل عرض النص
التحقق من المدخلات وأساسيات الهروب درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
الصورة العامة
الهدف: جعل المدخلات بسيطة وآمنة.
- استخدم عبارات الحماية لرفض المدخلات مبكرًا
- فضّل قوائم السماح على القواعد المبهمة
- طبّع المدخلات إلى بنية بسيطة
- أفلت الأحرف الخاصة قبل عرض النص

أساسيات حماية الأرقام
أضف عبارات حماية بسيطة: تحقّق من النوع، وتحقّق من النطاق، ثم طبّع القيمة النهائية.
// Validate age: number and range guard
function parseAge(input) {
// trim and parse
const n = Number(input);
if (!Number.isFinite(n)) return null; // reject non-numbers
if (n < 0 || n > 130) return null; // reject out-of-range
return Math.floor(n); // normalize to integer
}
console.log("age ok:", parseAge("21"));
console.log("age bad:", parseAge("twenty"));

إفلات للعرض الآمن
قبل عرض نص المستخدم، نفّذ إفلاتًا للأحرف الخاصة حتى تتعامل واجهة المستخدم معه كنص عادي.
// Escape a few risky characters before displaying in HTML contexts
function escapeText(s) {
if (typeof s !== "string") return "";
return s
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll("\"", """)
.replaceAll("'", "'");
}
console.log("escaped:", escapeText("<b>Hello & bye</b>"));

قوائم السماح عمليًا
فضّل قوائم السماح للمجموعات الثابتة، مثل الرموز أو الأدوار. طبّع حالة الأحرف والمسافات.
// Allowlist example: only certain country codes
const ALLOWED = new Set(["TR", "US", "DE", "GB"]);
function parseCountry(code) {
if (typeof code !== "string") return null;
const up = code.trim().toUpperCase();
if (!ALLOWED.has(up)) return null; // reject unknown
return up; // normalized
}
console.log("country ok:", parseCountry("tr"));
console.log("country bad:", parseCountry("xx"));

مدقّق صغير للكائنات
تحقّق من النوع والحدود، ثم أعد بنية مطبّعة يمكن لبقية شيفرتك الوثوق بها.
// Validate a tiny user object and normalize
function validateUser(input) {
if (typeof input !== "object" || input === null) return null;
const nameOk = typeof input.name === "string" && input.name.trim().length >= 1 && input.name.trim().length <= 40;
const ageOk = parseAge(input.age) !== null;
if (!nameOk || !ageOk) return null;
return {
name: input.name.trim(),
age: parseAge(input.age)
};
}
console.log("user ok:", validateUser({ name: " Ayla ", age: "22" }));
console.log("user bad:", validateUser({ name: "", age: "old" }));

عادات دفاعية جيدة
نصائح:
- تحقّق عند الحدود، مثل إدخال المستخدم والشبكة.
- استخدم قوائم السماح والنطاقات وفحوصات النوع.
- طبّع مرة واحدة، وأبقِ بقية الشيفرة بسيطة.
- نفّذ إفلاتًا قبل عرض النصوص للمستخدمين.

اختبار أساسيات الإدخال الدفاعي
تحقّق سريع: نمط الإدخال الآمن.

مراجعة
مراجعة: تحقّق مبكرًا، واستخدم قوائم السماح، وطبّع البيانات إلى بنية آمنة، ونفّذ إفلاتًا قبل العرض. اجعل كل خطوة صغيرة وسهلة القراءة.

الأسئلة الشائعة
هل درس «التحقق من المدخلات وأساسيات الهروب» مجاني؟
نعم — نص درس «التحقق من المدخلات وأساسيات الهروب» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
ماذا ستتعلم في «التحقق من المدخلات وأساسيات الهروب»؟
تحققوا من المدخلات وطَبّعوا صيغتها باستخدام قوائم سماح وحراس صغيرة؛ وأفلتوا المحارف الخطرة قبل عرض النص تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟
لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.
كم من الوقت يستغرق درس «التحقق من المدخلات وأساسيات الهروب»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟
نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التحقق من المدخلات وأساسيات الهروب
- دمج الكائنات بأمان؛ التجميد والإحكام
- حدود الأخطاء (مفاهيميًا) من دون أطر عمل