Cara buat exam browser sendiri

From Dboswiki
Jump to navigation Jump to search

https://chatgpt.com/share/6a96f139-7668-83ec-8983-b64cdfa25737

ini ringkasannya : https://chatgpt.com/share/6a96f657-c368-83ec-8b56-b10e34110032


ExamBro DBOS

ExamBro DBOS adalah aplikasi peramban ujian (exam browser) yang dikembangkan berdasarkan kode sumber Safe Exam Browser (SEB) untuk digunakan dalam sistem ujian berbasis komputer yang terintegrasi dengan Moodle. Aplikasi ini dirancang untuk membatasi akses peserta ujian agar hanya dapat mengakses halaman ujian melalui aplikasi ExamBro DBOS selama periode ujian yang telah ditentukan.

Pengembangan aplikasi menggunakan sumber SEB untuk Windows yang berasal dari arsip seb-win-refactoring-3.10.1.zip. Proses pengembangan dan kompilasi dilakukan menggunakan Visual Studio.

Latar belakang

Dalam sistem ujian berbasis Moodle, peserta umumnya dapat mengakses halaman ujian menggunakan berbagai peramban seperti Google Chrome, Microsoft Edge, atau peramban pada perangkat seluler. Untuk membatasi akses tersebut, dikembangkan mekanisme yang mengidentifikasi aplikasi ujian melalui User-Agent.

ExamBro DBOS menggunakan User-Agent khusus:

Server Moodle memeriksa User-Agent tersebut untuk menentukan apakah permintaan berasal dari aplikasi ExamBro DBOS.

Pengembangan

Pengembangan dimulai dengan mengekstrak arsip sumber SEB dan membuka proyeknya menggunakan Visual Studio. Dalam proses awal, terdapat beberapa kendala ketika proyek dijalankan melalui Visual Studio maupun runtime. Pemeriksaan terhadap berkas log digunakan untuk mengetahui penyebab kesalahan tersebut.

Salah satu bagian pengembangan adalah penyesuaian identitas aplikasi melalui User-Agent sehingga server Moodle dapat mengenali ExamBro DBOS sebagai aplikasi ujian yang diizinkan.

Alur pengembangannya dapat digambarkan sebagai berikut:

Integrasi dengan Moodle

ExamBro DBOS dirancang untuk bekerja bersama Moodle sebagai server penyelenggara ujian. Pada sisi Moodle ditambahkan mekanisme pemeriksaan terhadap User-Agent aplikasi.

Pada awal pengembangan, mode ujian dikendalikan secara manual melalui variabel:

Kemudian mekanisme tersebut dikembangkan menjadi sistem otomatis berdasarkan jadwal ujian.

Mode ujian berdasarkan waktu

Sistem dapat menentukan apakah ujian sedang berlangsung berdasarkan waktu mulai dan waktu selesai.

Contoh konfigurasi:

Zona waktu yang digunakan adalah Asia/Jakarta.

Mekanisme tersebut menghasilkan tiga kondisi:

Waktu Akses
Sebelum ujian Peramban biasa diperbolehkan
Selama ujian Hanya ExamBro DBOS yang diperbolehkan
Setelah ujian Peramban biasa diperbolehkan

Dengan sistem tersebut, administrator tidak perlu mengubah status mode ujian secara manual setelah ujian selesai.

Validasi User-Agent

Ketika mode ujian aktif, server Moodle membaca User-Agent dari permintaan HTTP:

Nilai tersebut kemudian dibandingkan dengan User-Agent yang telah ditentukan:

Apabila nilainya tidak sesuai, server menjalankan fungsi pemblokiran akses.

Dalam implementasi yang dijelaskan pada sumber, halaman penolakan menampilkan pesan:

"AKSES HANYA MELALUI APLIKASI EXAMBRO DBOS"

Pembatasan akses langsung ke kuis

Selain validasi User-Agent, sistem juga dirancang untuk membatasi akses langsung menuju halaman kuis Moodle.

Contoh URL yang menjadi perhatian adalah:

dan:

Ketika mode ujian aktif, permintaan menuju URL yang mengandung /mod/quiz/ dapat diperiksa. Jika permintaan berasal dari peramban yang tidak memiliki User-Agent ExamBro DBOS, akses ditolak.

Mekanisme tersebut menghasilkan perilaku berikut:

Aplikasi Status
Chrome Ditolak
Edge Ditolak
Peramban seluler Ditolak
ExamBro DBOS Diizinkan

Keamanan

Validasi User-Agent merupakan salah satu lapisan pengamanan yang digunakan dalam rancangan sistem. Sumber juga menyebutkan beberapa mekanisme tambahan yang dapat digunakan untuk meningkatkan keamanan.

Mekanisme yang disebutkan meliputi:

  • pemeriksaan waktu ujian;
  • validasi User-Agent;
  • validasi SEB Config Key;
  • validasi SEB Request Hash;
  • pembatasan akses langsung ke /mod/quiz/;
  • pemblokiran peramban non-SEB;
  • pendeteksian kemungkinan spoofing User-Agent;
  • pembatasan terhadap penggunaan DevTools atau Inspect Element.

Dua header SEB yang disebutkan dalam rancangan adalah:

dan:

Sumber menyatakan bahwa validasi Config Key dan Request Hash lebih aman dibandingkan hanya mengandalkan User-Agent.

Arsitektur sistem

Secara konseptual, sistem ExamBro DBOS terdiri atas dua komponen utama, yaitu aplikasi pada perangkat peserta dan server Moodle.

Konfigurasi

Konfigurasi utama yang dibahas dalam pengembangan meliputi:

Jadwal dapat diubah melalui parameter $exam_start dan $exam_end pada konfigurasi server Moodle.

Proses penggunaan

Dalam skenario ujian, alur penggunaan sistem adalah:

Pengembangan lebih lanjut

Berdasarkan rancangan yang terdapat dalam sumber, pengembangan berikutnya diarahkan pada peningkatan keamanan aplikasi dan integrasi dengan Moodle. Fitur yang disebutkan antara lain pendeteksian fake Safe Exam Browser, pemblokiran DevTools, pembatasan akses langsung ke halaman kuis, serta validasi Config Key.

Lihat pula

  • Safe Exam Browser
  • Moodle
  • Computer-Based Test (CBT)
  • User-Agent
  • SEB Config Key
  • SEB Request Hash

Catatan: Ringkasan di atas menggambarkan rancangan dan proses yang terdapat pada teks sumber. Beberapa fitur keamanan seperti pendeteksian DevTools, spoofing, dan validasi Config Key disebut sebagai pengembangan atau rekomendasi lanjutan, sehingga tidak semuanya dapat dianggap sudah terimplementasi dalam versi yang dijelaskan.