الأمان قرار خادمي، وليس حالة أداة مرئية.
يحمي 2IZI Guard النماذج والإجراءات العامة عبر تقييم محلي للمخاطر واحتكاك تكيفي ورموز تفويض خادمية أحادية الاستخدام، من دون CAPTCHA خارجية إلزامية.
سطح تكامل صغير. الإذن النهائي يبقى على الخادم.
النواة الحالية تستهدف PHP 8.1+ ومستقلة عن framework عند حدود الأمان. احمِ كل action صراحة واستهلك token قبل العملية التجارية.
1. Frontend
<script src="/guard/public/assets/guard.js?v=0.4.10" defer></script> <form data-guard-action="contact"> … </form>
2. Protected action
$result = Guard::verifyAndConsume(
$_POST['guard_token'] ?? '',
'contact'
);
if (!$result->allowed()) {
http_response_code(403);
exit;
}Actions شائعة
loginregisterpassword_resetcontactcheckoutfile_uploadAction واحدة محمية. خمس نقاط تحقق مستقلة.
يمكن للمتصفح المشاركة في challenge، لكن الإذن التجاري يصدر ويُستهلك دائمًا على الخادم.
تحقق من السياق
Origin وaction وsession والحدود الأساسية قبل العمل المكلف.
قيّم محليًا
إشارات الخادم والتطبيق تنتج قرار مخاطرة قابلًا للتفسير.
أضف الاحتكاك
السياسة تختار PASS أو PoW أو interaction أو throttle أو deny.
أصدر مرة واحدة
Token عشوائي 256-bit مرتبط بـ session/action/origin وTTL قصير.
استهلك ذريًا
Endpoint التجاري يستهلك مرة واحدة ويرفض replay وmismatch وexpiry.
Policy modes
المرور الموثوق قد يمر بصمت، والمخاطر الأعلى قد تشغّل PoW أو hold أو throttle أو deny.
Integration contract
النواة الحالية تستهدف PHP 8.1+ ومستقلة عن framework عند حدود الأمان. احمِ كل action صراحة واستهلك token قبل العملية التجارية.
Action registry
The server defines allowed action names. Never use a client-provided action as authorization context.
'contact' => [ 'mode' => 'adaptive', 'fail_mode' => 'open_with_limit' ]
Origin / session binding
opaque tokens 256-bit · تخزين hash فقط · TTL قصير · binding action/session/origin · HMAC integrity · one-time atomic consume · إشارات business من الخادم فقط · fail-closed للإجراءات الحرجة.
UI isolation
Shadow DOM isolates Guard visuals from host CSS. It is a UI reliability layer, not a security boundary.
Localization
UI locale is BCP-47-style, UTF-8, RTL-ready, touch/keyboard compatible, and extendable with locale packs.
نفترض أن المهاجم يعرف كامل الشفرة.
يمكن أن تكون الشفرة وJavaScript وAPI ومخطط DB وPoW والحدود معروفة؛ الأسرار والتفويض يبقيان على الخادم.
نفترض أن المهاجم لديه
- الشفرة الكاملة
- نماذج AI حديثة
- Playwright / Selenium / headless Chromium
- Residential proxies
- تسجيلات لحركته الخاصة
الأمان لا يعتمد على إخفاء
- JavaScript
- خوارزمية challenge
- أسماء الحقول
- endpoints
- risk thresholds
يجب أن يزيد المصدر العام قابلية التدقيق لا أن يضعف النموذج.
قراءة التنفيذ لا يجب أن تمنح authorization bypass. المراجعة العامة تحتاج releases منضبطة ومفاتيح وصلاحيات repository وسياسة ثغرات.
يُنشر
- المصدر وسجل التغييرات
- SECURITY.md وresponsible disclosure
- threat model والبنية
- اختبارات security / red-team آلية
- checksums وrelease notes
يبقى خاصًا
- production config/guard.php
- APP_KEY ومفاتيح HMAC/privacy/rate-limit
- DB dumps وsecurity events حقيقية
- cookies/tokens/sessions حقيقية
- أسرار النشر وتفاصيل البنية الخاصة
Diagnostics, tests and updates
Diagnostics
php bin/diagnose.php
Check database state, key material, Origin configuration and registered actions before enabling enforcement.
Regression / red-team
bash tests/run-all.sh
Release acceptance includes replay, proxy, risk, tampering, UI and integration checks. Run disposable MariaDB/MySQL concurrency tests where available.
Updates
Read release notes and migrations first. Do not overwrite production config/guard.php with a distribution template. Rotate keys only when a release explicitly requires it.
Rollout
Start with Shadow Mode, review predicted decisions and false positives, tune action policies, then enable calibrated enforcement.
0.4.10 · pre-1.0 · تطوير نشط
الفرع الحالي security-first مع اختبارات regression/red-team آلية. ابدأ بـ Shadow Mode ثم اضبط enforcement على حركة حقيقية.