> ## Content Index
> Fetch the complete content index at: https://arabroot.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# الاختبار الآمن Secure Exam مع Safe Exam Browser وMoodle
- URL: https://arabroot.io/articles/الاختبارات-الامنة-مع-safe-exam-browser/
- Published: 2026-10-14T09:30:00.000Z
- Updated: 2026-10-25T08:50:12.000Z
- Description: كيف تجعل اختبار Moodle لا يفتح إلا داخل Safe Exam Browser، وكيف يتحقق Moodle من مفاتيحه، وما الذي لا تمنعه هذه الأداة.
- Author: فريق عرب رووت
- Tags: الأدلة التقنية, التعليم والبحث العلمي, تطبيقات لفريقك, الاستضافة الذاتية, Safe Exam Browser

لنفرض أن لديك اختباراً نهائياً في معمل الحاسب، والطلاب يحلونه على Moodle من المتصفح، فما الذي يمنع الطالب من فتح تبويب جديد يبحث فيه عن الإجابة، أو يسأل فيه أداة ذكاء اصطناعي، أو ينسخ السؤال ويرسله لزميله؟ الإجابة أن اختبار Moodle Quiz وحده لا يمنع شيئاً من ذلك، لأنه يعمل داخل متصفح عادي يملك الطالب كل أدواته. والحل الذي تستخدمه الجامعات لهذا هو Safe Exam Browser، واختصاراً SEB، وهو متصفح يقفل الجهاز طوال الاختبار، وMoodle يدعمه في كوده الأساسي. وكما شرحنا في [دليل Moodle](https://arabroot.io/articles/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-moodle-%D9%85%D9%86%D8%B5%D8%A9-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%B9%D9%84%D9%89-%D8%B3%D9%8A%D8%B1%D9%81%D8%B1%D9%83/#quiz) كيف تنشئ اختباراً ويحله الطالب، ففي هذا المقال سوف نتناول:

- ما هو SEB، وعلى أي أجهزة يعمل، وكيف يعرف Moodle أن الطالب داخله فعلاً.
- ما الذي يمنعه SEB وما الذي لا يراه، بصراحة.
- إعداد اختبار في Moodle 5.3 يتطلب SEB، والصفحة التي يراها الطالب في متصفح عادي، وما الذي يوجد في ملف الإعدادات الذي يحمله.
- تجربة التحقق من جهة السيرفر بالترويسات التي يرسلها SEB: بلا ترويسة، وبترويسة خاطئة، وبالصحيحة.
- مفاتيح المتصفح Browser Exam Keys، ونصائح ليوم الاختبار.

## ما هو Safe Exam Browser؟

SEB مشروع مفتوح المصدر تطوره خدمات تقنية المعلومات في جامعة ETH Zurich، وكود نسخة Windows منشور برخصة MPL-2.0 في [مستودعها على GitHub](https://github.com/SafeExamBrowser/seb-win-refactoring?ref=arabroot.io). و[صفحة التعريف الرسمية](https://safeexambrowser.org/about%5Foverview%5Fen.html?ref=arabroot.io) تصفه بأنه تطبيق كشك Kiosk يقفل الجهاز ويشغل متصفح SEB وحده، ويمنع اختصارات النظام مثل Alt+F4 والزر الأيمن للفأرة، والانتقال إلى تطبيق آخر بـ Alt+Tab. والإصدارات الحالية بحسب [صفحة التنزيل](https://safeexambrowser.org/download%5Fen.html?ref=arabroot.io) كما يلي:

| النظام      | الإصدار                                                                                                                     | الحد الأدنى                                  |
| ----------- | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| Windows     | [3.10.2](https://github.com/SafeExamBrowser/seb-win-refactoring/releases/tag/v3.10.2?ref=arabroot.io) الصادر في 8 مايو 2026 | Windows 10 الإصدار 1803 أو أحدث، وWindows 11 |
| macOS       | [3.7.1.1](https://github.com/SafeExamBrowser/seb-mac/releases/tag/3.7.1.1?ref=arabroot.io) الصادر في 1 أكتوبر 2026          | macOS 12 أو أحدث                             |
| iOS وiPadOS | 3.7.1                                                                                                                       | الإصدار 12 أو أحدث                           |

ولاحظ أن الصفحة لا تذكر Linux ولا ChromeOS ولا Android، فإذا كانت أجهزة المعمل Chromebook فلن يعمل عليها SEB، وهذه أول نقطة تحسمها قبل أن تعد الطلاب بالاختبار الآمن.

## كيف يعرف Moodle أن الطالب داخل SEB؟

الطريقة البسيطة هي أن يفحص Moodle اسم المتصفح User-Agent، فإذا وجد فيه كلمة SEB سمح بالدخول، وهذه الطريقة موجودة فعلاً في Moodle في الخيار «Use SEB client config»، فالكود يفحص هذه الكلمة فقط، ولكنها أضعف الطرق على الإطلاق، لأن أي متصفح يستطيع أن يرسل أي اسم يريده. والطريقة الأقوى هي المفاتيح، والصورة التالية تبينها:

![مخطط كيف يعرف Moodle أن الطالب داخل Safe Exam Browser: متصفح عادي Chrome أو Edge دون ترويسات SEB يطلب صفحة الاختبار فيصل إلى صفحة الرفض التي تقول يتطلب الاختبار SEB مع زر تشغيل SEB وزر تنزيل الإعدادات، وجهاز الطالب مع SEB في وضع القفل Kiosk Mode يحمل ملف الإعدادات .seb من Moodle ويضيف ترويستين إلى كل طلب: X-SafeExamBrowser-ConfigKeyHash وهو SHA256 للرابط مع Config Key، وX-SafeExamBrowser-RequestHash وهو SHA256 للرابط مع Browser Exam Key، وMoodle يحسب الهاش نفسه من إعدادات الاختبار والمفاتيح المسموحة ويقارن، فإن تطابقا بدأت المحاولة وإلا رفض](https://arabroot.io/content/images/2026/10/safe-exam-browser-01-key-check.webp)

الرابط جزء من الهاش، لذلك تختلف القيمة في كل صفحة

وفيما يلي المفتاحان بحسب [توثيق Config Key الرسمي](https://safeexambrowser.org/developer/seb-config-key.html?ref=arabroot.io):

- **مفتاح الإعدادات Config Key:** هاش SHA256 لإعدادات SEB كلها بعد ترتيبها بصيغة ثابتة، فإذا تغير أي إعداد تغير المفتاح، ولا يتغير بتحديث برنامج SEB، وهو نفسه في Windows وmacOS وiOS. وMoodle يحسبه تلقائياً من إعدادات الاختبار.
- **مفتاح المتصفح Browser Exam Key:** واختصاراً BEK، وهو يتغير مع إصدار برنامج SEB نفسه، ولذلك يدخله المعلم أو المدير يدوياً في إعدادات الاختبار لكل إصدار مسموح، و[توثيق Moodle](https://docs.moodle.org/503/en/Safe%5FExam%5FBrowser?ref=arabroot.io) يقول إن Moodle لا يفحصه إذا لم تدخل أي مفتاح.

ولا يرسل SEB المفتاح نفسه، وإنما يرسل في كل طلب هاش SHA256 للرابط المطلوب ملحقاً به المفتاح، في الترويسة `X-SafeExamBrowser-ConfigKeyHash` للأول و`X-SafeExamBrowser-RequestHash` للثاني، فلا تصلح القيمة التي التقطت من صفحة لصفحة أخرى، والسيرفر يحسب الهاش نفسه ويقارن.

## ما الذي يمنعه SEB وما الذي لا يراه؟

قبل الإعداد عليك أن تعرف حدود الأداة، لأن أكثر خطأ نراه هو أن تعتبر المؤسسة الاختبار آمناً لمجرد أنه يعمل داخل SEB:

![مقارنة بين ما يتحكم فيه Safe Exam Browser داخل جهاز الطالب: وضع القفل Kiosk Mode ومنع التطبيقات الأخرى، ومنع لقطة الشاشة enablePrintScreen، وشاشة واحدة allowedDisplaysMaxNumber، وتقييد المواقع URL Filter عند تفعيله، والخروج بكلمة سر Quit Password، والكاميرا والميكروفون مغلقان في المتصفح، وما لا يراه خارج الجهاز: الهاتف أو جهاز ثان على الطاولة، وشخص آخر في الغرفة، وأوراق وكتب أمام الطالب، وبرنامج SEB نفسه إذا لم تضف مفاتيح BEK، وأجهزة Linux أو Chromebook لا يعمل عليها](https://arabroot.io/content/images/2026/10/safe-exam-browser-02-scope.webp)

SEB يقفل الجهاز الذي يعمل عليه فقط، والاختبار الآمن يحتاج بقية الطبقات معه

والقاعدة هنا أن SEB يحل مشكلة واحدة، وهي استخدام الجهاز نفسه في الغش، ولا يحل غيرها، فالاختبار في المعمل يحتاج مراقباً في القاعة، والاختبار من البيت يحتاج مراقبة بالكاميرا Proctoring أو تصميماً للأسئلة يعتمد على الفهم وليس على الحفظ. وحتى المراقبة بالفيديو داخل SEB اختيارية ومعطلة افتراضياً، والصفحة الرسمية تشترط أن يوافق عليها كل طالب في نافذة حوار.

## خيارات SEB في اختبار Moodle

في إعدادات الاختبار قسم «مستعرض الاختبار الآمن»، وأول حقل فيه «يتطلب استعمال مستعرض الاختبار الآمن»، وخياراته كما في توثيق Moodle، وكل خيار غير No يبدأ في الواجهة الإنجليزية بكلمة Yes:

| الخيار                   | ماذا يعني                                                                     | متى تستخدمه                                  |
| ------------------------ | ----------------------------------------------------------------------------- | -------------------------------------------- |
| No                       | لا يتطلب SEB                                                                  | التدريب والواجبات                            |
| Configure manually       | تضبط إعدادات SEB من النموذج نفسه، وMoodle يبني ملف الإعدادات ويحسب Config Key | أغلب الحالات، وهو ما استخدمناه               |
| Use an existing template | قالب يجهزه المدير، والإعدادات اليدوية تكتب فوقه                               | عندما تريد إعدادات موحدة لكل اختبارات الكلية |
| Upload my own config     | ترفع ملف .seb جاهزاً                                                          | إعدادات متقدمة لا يعرضها النموذج             |
| Use SEB client config    | أي إعدادات SEB مقبولة                                                         | تجنبه، فهو يفحص اسم المتصفح فقط كما ذكرنا    |

## التجربة العملية: اختبار يتطلب SEB في Moodle 5.3

بدأنا من مختبر Moodle 5.3 في [دليل Moodle](https://arabroot.io/articles/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-moodle-%D9%85%D9%86%D8%B5%D8%A9-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%B9%D9%84%D9%89-%D8%B3%D9%8A%D8%B1%D9%81%D8%B1%D9%83/#lab)، وأنشأنا في مقرر «مقدمة في الشبكات» اختباراً بعنوان «الاختبار النهائي: أساسيات الشبكات» بسؤال صح وخطأ، ومحاولة واحدة، ووقت 30 دقيقة، والخيار «Configure manually» مع كلمة سر للخروج من SEB، كما في الصورة التالية لإعدادات المعلمة:

![قسم مستعرض الاختبار الآمن في إعدادات اختبار Moodle بالعربية: يتطلب استعمال مستعرض الاختبار الآمن بقيمة نعم أجر التهيئة يدوياً، وزر تنزيل مستعرض الاختبار الآمن نعم، وحقل رابط الخروج فارغ، ومطالبة المستخدم بتأكيد الخروج نعم، وتمكين الخروج من مستعرض الاختبار الآمن نعم، وكلمة سر الخروج مخفية بنقاط، وتمكين إعادة التحميل في الاختبار نعم، وإظهار شريط مهام مستعرض الاختبار الآمن نعم، وأظهر زر إعادة التحميل نعم](https://arabroot.io/content/images/2026/10/safe-exam-browser-03-quiz-settings.webp)

إعدادات SEB داخل اختبار Moodle، وكل حقل منها يصبح إعداداً في ملف ‎.seb‎

💡

برنامج SEB نفسه يقفل الجهاز الذي يعمل عليه، لذلك لم نشغله على جهاز المختبر، وجربنا جانب Moodle كاملاً بإرسال الترويسة التي يرسلها SEB كما سيأتي، وخطوات الطالب مع البرنامج من التوثيق الرسمي. جرب البرنامج على جهاز مخصص للتجربة قبل يوم الاختبار.

### ماذا يرى الطالب في متصفح عادي؟

دخلنا بحساب الطالب خالد في Chrome، وفتحنا الاختبار، فكانت الصفحة كما يلي:

![صفحة اختبار في Moodle بالعربية بتخطيط آمن دون قوائم: عنوان المقرر مقدمة في الشبكات، والمحاولات المسموح بها 1، ونص لقد تمت تهيئة هذا الاختبار بحيث يمكن للطلبة محاولته حصرياً باستعمال مستعرض الاختبار الآمن، والحد الزمني 30 دقائق، وثلاثة أزرار تنزيل مستعرض الاختبار الآمن وإطلاق مستعرض الاختبار الآمن وتنزيل التهيئة، وزر عودة إلى المساق](https://arabroot.io/content/images/2026/10/safe-exam-browser-04-blocked.webp)

صفحة الاختبار في متصفح عادي: لا يوجد زر للمحاولة، وإنما ثلاثة أزرار لـ SEB

لاحظ أن Moodle أخفى القوائم والكتل الجانبية، فالقاعدة في كود الإضافة أن كل اختبار يتطلب SEB يعرض بالتخطيط الآمن Secure Layout. والأزرار الثلاثة روابط كما يلي:

- **تنزيل مستعرض الاختبار الآمن:** إلى صفحة التنزيل في موقع SEB.
- **إطلاق مستعرض الاختبار الآمن:** الرابط `seb://127.0.0.1:28080/mod/quiz/accessrule/seb/config.php?cmid=4`، والبروتوكول `seb://` يسجله برنامج SEB عند تثبيته، فيفتح البرنامج ويحمل الإعدادات من Moodle ويبدأ الاختبار. وفي الإنتاج يكون الموقع على HTTPS فيصبح الرابط `sebs://`.
- **تنزيل التهيئة:** الرابط نفسه بـ `http://`، ويحمل ملف الإعدادات، وفتحه بعد تثبيت SEB يشغل البرنامج بالإعدادات نفسها.

### ما الذي في ملف الإعدادات؟

حملنا ملف الإعدادات بجلسة الطالب نفسها، والمتغير `C` فيه كوكي الجلسة Session Cookie الذي أخذناه من المتصفح بعد دخول الطالب:

```bash
curl -s -D - -H "Cookie: $C" -o quiz.seb "http://127.0.0.1:28080/mod/quiz/accessrule/seb/config.php?cmid=4"
```

```text
HTTP/1.1 200 OK
Content-Disposition: attachment; filename=config.seb
Content-Type: application/seb
```

والملف 1203 بايت بصيغة plist، وفيه 24 إعداداً، وهذا محتواه:

```xml
<plist version="1.0"><dict><key>showTaskBar</key><true/><key>allowWlan</key><false/><key>showReloadButton</key><true/><key>showTime</key><true/><key>showInputLanguage</key><true/><key>allowQuit</key><true/><key>quitURLConfirm</key><true/><key>audioControlEnabled</key><false/><key>audioMute</key><false/><key>browserMediaCaptureCamera</key><false/><key>browserMediaCaptureMicrophone</key><false/><key>enablePrintScreen</key><false/><key>allowSpellCheck</key><false/><key>browserWindowAllowReload</key><true/><key>URLFilterEnable</key><false/><key>URLFilterEnableContentFilter</key><false/><key>hashedQuitPassword</key><string>f76e090013266713e2c73f4c8ffcb2f260e3baeaf1371dd4060fb4eb6a109436</string><key>allowedDisplaysMaxNumber</key><integer>1</integer><key>URLFilterRules</key><array/><key>startURL</key><string>http://127.0.0.1:28080/mod/quiz/view.php?id=4</string><key>sendBrowserExamKey</key><true/><key>browserWindowWebView</key><integer>3</integer><key>examSessionClearCookiesOnStart</key><false/><key>allowPreferencesWindow</key><false/></dict></plist>
```

في الملف أعلاه لاحظ التالي:

- `startURL` هو رابط الاختبار، فالبرنامج يفتحه مباشرة بعد القفل.
- `enablePrintScreen` بقيمة `false` يمنع لقطة الشاشة، و`allowedDisplaysMaxNumber` بقيمة 1 يمنع شاشة ثانية، والكاميرا والميكروفون مغلقان في المتصفح.
- `URLFilterEnable` بقيمة `false`، أي أن الطالب يستطيع أن يفتح أي رابط داخل نافذة SEB نفسها إذا وجده في صفحة، فإذا كان في الاختبار روابط خارجية ففعل تقييد المواقع في الإعدادات.
- `hashedQuitPassword` هو هاش كلمة سر الخروج، وحسبناه بأنفسنا فوجدناه SHA256 لكلمة السر نفسها دون أي إضافة Salt:

```bash
printf 'Quit-2026' | sha256sum
```

```text
f76e090013266713e2c73f4c8ffcb2f260e3baeaf1371dd4060fb4eb6a109436 *-
```

⚠️

ملف الإعدادات يحمله أي طالب مسجل في المقرر، وفيه هاش كلمة سر الخروج دون Salt، فإذا كانت كلمة السر قصيرة أو متوقعة مثل اسم المقرر والسنة فيمكن تخمينها Cracking من الهاش في دقائق، ومن يعرفها يخرج من SEB في منتصف الاختبار. لذلك اجعلها طويلة وعشوائية، ولا تكررها بين الاختبارات، ولا تخبر بها إلا المراقب.

### نجرب التحقق: بلا ترويسة، وبترويسة خاطئة، وبالصحيحة

الآن نرسل الطلب الذي يرسله SEB بأنفسنا. حصلنا على Config Key من إعدادات الاختبار في Moodle بالدالة نفسها التي يستخدمها الفحص:

```php
$s = \quizaccess_seb\seb_quiz_settings::get_by_quiz_id($quiz->id);
echo $s->get_config_key();
```

```text
e414b22b25e03e8cb37e173f47c3b52ba0af342672701b441cd5b5eea74f8e30
```

ثم حسبنا الهاش للرابط ملحقاً به المفتاح، وطلبنا صفحة الاختبار بجلسة الطالب في ثلاث حالات:

```bash
URL='http://127.0.0.1:28080/mod/quiz/view.php?id=4'
KEY=e414b22b25e03e8cb37e173f47c3b52ba0af342672701b441cd5b5eea74f8e30
H=$(printf '%s' "$URL$KEY" | sha256sum | cut -d' ' -f1); echo "$H"
curl -s -H "Cookie: $C" "$URL"
curl -s -H "Cookie: $C" -H "X-SafeExamBrowser-ConfigKeyHash: 0000000000000000000000000000000000000000000000000000000000000000" -H "User-Agent: Mozilla/5.0 SEB/3.10" "$URL"
curl -s -H "Cookie: $C" -H "X-SafeExamBrowser-ConfigKeyHash: $H" "$URL"
```

والنص الذي عرضه Moodle في كل حالة كان كما يلي:

```text
7a77c7c6fb47335a6fccb5639815455dd16ea08ce1fd0a44c7fd6b24e5229f13
== بلا ترويسة
لقد تمت تهيئة هذا الاختبار بحيث يمكن للطلبة محاولته حصرياً باستعمال مستعرض الاختبار الآمن.
== ترويسة خاطئة
تعذر التحقق من صحة مفاتيح مستعرض الاختبار الآمن. لطفاً، تأكد من استعمالك لمستعرض الاختبار الآمن مع ملف التهيئة الصحيح.
== الترويسة الصحيحة
محاولة الاختبار
محاولتك ستكون محددة بوقت مقداره 30 دقائق. عندما تبدأ، سيبدأ عداد الوقت التنازلي بالحساب ولا يمكن إيقافه.
```

في المخرج أعلاه لاحظ التالي:

- الترويسة الخاطئة رفضت حتى مع كلمة SEB في اسم المتصفح، لأن الخيار «Configure manually» يفحص المفتاح وليس الاسم.
- الترويسة الصحيحة أظهرت زر «محاولة الاختبار»، أي أن Moodle حسب الهاش نفسه من الرابط والمفتاح ووجده مطابقاً.
- كل رفض سجله Moodle في سجلات الموقع بحدث من الإضافة `quizaccess_seb` وفيه السبب «مفتاح تهيئة غير صحيح لمستعرض الاختبار الآمن»، فإذا اشتكى طالب يوم الاختبار فابدأ بهذه السجلات.

ثم وجدنا تفصيلاً مهماً: بعد أن نجح الطلب بالترويسة الصحيحة، أرسلنا الترويسة الخاطئة بالجلسة نفسها، فظهر زر المحاولة أيضاً. والسبب في كود الإضافة، فبعد أول تحقق ناجح يحفظ Moodle النتيجة في جلسة الطالب Session لهذا الاختبار، ولا يفحص المفاتيح مرة أخرى حتى تنتهي المحاولة، وعندها يمسحها:

```php
// Access has previously been validated for this session and quiz.
if ($this->accessmanager->validate_session_access()) {
    return false;
}
```

وهذا تصميم مقصود يخفف الفحص على السيرفر، ولكن معناه أن قوة الحماية تعتمد على أن تبقى جلسة الطالب داخل SEB، فاترك إعدادات SEB الخاصة بمسح الجلسة على قيمها الافتراضية، ولا تفتح Moodle في متصفح آخر على الجهاز نفسه أثناء الاختبار.

## لماذا تضيف مفاتيح المتصفح BEK؟

قد يتساءل البعض: إذا كان Config Key يعمل كما رأينا، فلماذا أحتاج مفتاحاً آخر؟ والإجابة في طريقة حسابه، فهو هاش للإعدادات، والإعدادات في الملف الذي يحمله أي طالب من زر «تنزيل التهيئة»، أي أن Config Key يثبت أن الإعدادات صحيحة، ولا يثبت أن البرنامج الذي يرسلها هو SEB الأصلي، وهذا ما يقوله توثيقه نفسه حين يصف غرضه بالتأكد أن العميل مهيأ بشكل صحيح. أما Browser Exam Key فيحسبه البرنامج من ملفاته هو مع الإعدادات، ولذلك يتغير مع كل إصدار من SEB. والخطوات كما يلي:

1. ثبت على أجهزة المعمل إصداراً واحداً محدداً من SEB، مثل 3.10.2 لـ Windows.
2. افتح الاختبار بهذا الإصدار مرة، واقرأ قيمة BEK من البرنامج كما في توثيقه.
3. ضعها في حقل «Allowed browser exam keys» في إعدادات الاختبار، ومفتاحاً لكل إصدار مسموح، فإذا كان بعض الطلاب على macOS فلهم مفتاح آخر.
4. بعد أي تحديث لـ SEB على الأجهزة، أعد الخطوتين السابقتين، وإلا رفض Moodle الطلاب جميعاً.

وهذا عبء إداري حقيقي، لذلك فهو مناسب للاختبارات النهائية في معامل تديرها المؤسسة، وأما الاختبارات القصيرة من أجهزة الطلاب فيكفيها Config Key مع المراقبة.

## قبل يوم الاختبار

- **جرب في المعمل نفسه:** بالأجهزة نفسها وبحساب طالب تجريبي، قبل يوم على الأقل، لأن برامج الحماية على الأجهزة قد تمنع SEB من العمل.
- **ثبت البرنامج مسبقاً:** التثبيت على Windows يحتاج صلاحيات المدير، فلا تتركه للطالب في بداية الاختبار.
- **أعط المراقب كلمة سر الخروج:** فإذا تعطل جهاز طالب خرج المراقب من SEB وأعاد تشغيله.
- **اترك وقتاً إضافياً:** اختبار بوقت 30 دقيقة يبدأ عداده عند ضغط زر المحاولة، وليس عند تشغيل SEB.
- **الصلاحية quizaccess/seb:bypassseb:** من يملكها يدخل دون SEB، ويملكها افتراضياً دورا المعلم المحرر editingteacher والمدير manager ليعاينوا الاختبار، فلا تعطها لأي دور يحل الاختبار.

## مشكلات شائعة وحلولها

| العرض                                                 | السبب                                                                                      | الحل                                                                |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| «تعذر التحقق من صحة مفاتيح مستعرض الاختبار الآمن»     | الطالب فتح الاختبار بإعدادات قديمة أو ملف آخر، أو غير المعلم الإعدادات بعد أن حملها الطالب | يغلق SEB ويفتح الاختبار من زر «إطلاق مستعرض الاختبار الآمن» من جديد |
| الطلاب جميعاً مرفوضون بعد تحديث الأجهزة               | تغير BEK مع الإصدار الجديد                                                                 | أضف المفتاح الجديد إلى الاختبار                                     |
| زر «إطلاق» لا يفعل شيئاً                              | SEB غير مثبت، فالبروتوكول seb:// غير مسجل                                                  | ثبت البرنامج، أو استخدم «تنزيل التهيئة» وافتح الملف                 |
| المعلم يرى الاختبار في متصفح عادي ويظن أن SEB لا يعمل | دور المعلم المحرر يملك صلاحية التجاوز bypassseb افتراضياً                                  | جرب بحساب طالب                                                      |
| جهاز Chromebook لا يفتح الاختبار                      | SEB لا يعمل على ChromeOS                                                                   | جهاز Windows أو macOS أو iPad                                       |

## تنظيف المختبر

```bash
docker compose down -v
```

## تدريب عملي

- غير إعداداً واحداً في قسم SEB، مثل إظهار الوقت، ثم حمل ملف الإعدادات من جديد واحسب Config Key كما في الأمر أعلاه، ولاحظ أن الهاش القديم لم يعد يقبل.
- حول الاختبار إلى الخيار «Use SEB client config»، وأرسل طلباً بكلمة SEB في اسم المتصفح فقط دون أي ترويسة، وقارن النتيجة بما رأيناه.

## الخلاصة

وصلنا لنهاية الموضوع، وأهم ما فيه:

- SEB متصفح يقفل الجهاز طوال الاختبار، ويعمل على Windows وmacOS وiPadOS فقط، وMoodle يدعمه في كوده الأساسي.
- Moodle يتحقق منه بهاش SHA256 للرابط مع Config Key أو Browser Exam Key، وليس باسم المتصفح، إلا في الخيار «Use SEB client config» فتجنبه.
- Config Key يثبت الإعدادات، والإعدادات في ملف يحمله أي طالب، فأضف BEK للاختبارات النهائية وحدثه مع كل إصدار.
- كلمة سر الخروج موجودة في الملف كهاش SHA256 دون Salt، فاجعلها طويلة وعشوائية.
- بعد أول تحقق ناجح يحفظ Moodle النتيجة في الجلسة حتى نهاية المحاولة.
- SEB لا يرى الهاتف ولا الغرفة، فالاختبار الآمن يحتاج المراقبة معه.

## سجل التحديثات

- أكتوبر 2026: كتابة المقال، وتجربة جانب Moodle على Moodle 5.3.0 بإضافة quizaccess\_seb، وإصدارات SEB من صفحة التنزيل الرسمية: Windows 3.10.2 وmacOS 3.7.1.1 وiOS 3.7.1.