انتقل إلى محتوى الدرس

Live Search Performance and Security Table جدول معايير الأداء والأمان في البحث الفوري

ابنِ محرك بحث فوري الإكمال التلقائي باستخدام PHP 8 واستعلامات PDO المحضرة بـ LIKE واستجابات JSON وتأخير الإدخال Debounce.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

اجمع بين ضوابط الواجهة الأمامية والخادم التالية لضمان بقاء نظام البحث الفوري سريعاً وآمناً تماماً ضد الهجمات.

  • طبّق تأخير الكتابة Debounce (من 250 إلى 300 مللي ثانية) وألغِ الطلبات السابقة عبر AbortController.
  • افرض حداً أدنى لطول النص (حرفان فأكثر) وحداً أقصى (60 محرفاً) داخل كود PHP.
  • استخدم استعلامات PDO المحضرة مع تهريب رموز LIKE وتقييد النتائج بـ LIMIT 8.

تزيل دالة normalizeSearchTerm() المسافات الزائدة، وتفحص حدود الطول بترميز UTF-8، وتهرّب الشرطة السفلية، وتحيط النص بعلامتي %.

معيار الأداء / الأمانمكان التطبيقالأهمية العملية
Input Debounce (280ms)Frontend JSCuts HTTP request volume by 80%+
AbortControllerFrontend JSPrevents stale responses overwriting newer ones
mb_strlen($q) >= 2Both JS & PHPBlocks expensive 1-letter table scans
PDO Prepared LIKE :qBackend PHPEliminates SQL Injection completely
LIMIT 8 + Specific ColumnsBackend SQLCaps memory & network payload size
textContent RenderingFrontend DOMEliminates DOM-based XSS in dropdown
PHP
<?php
function normalizeSearchTerm(string $raw): ?string {
    $trimmed = trim($raw);
    $len = mb_strlen($trimmed, 'UTF-8');
    if ($len < 2 || $len > 60) {
        return null;
    }
    return '%' . addcslashes($trimmed, '%_\\') . '%';
}
echo (normalizeSearchTerm("  pdo_8  ") ?? "SKIP") . "\n";
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

اجمع بين ضوابط الواجهة الأمامية والخادم التالية لضمان بقاء نظام البحث الفوري سريعاً وآمناً تماماً ضد الهجمات. طبّق تأخير الكتابة Debounce (من 250 إلى 300 مللي ثانية) وألغِ الطلبات السابقة عبر AbortController. افرض حداً أدنى لطول النص (حرفان فأكثر) وحداً أقصى (60 محرفاً) داخل كود PHP. استخدم استعلامات PDO المحضرة مع تهريب رموز LIKE وتقييد النتائج بـ LIMIT 8.