Cara buat exam browser sendiri: Difference between revisions
Created page with "https://chatgpt.com/share/6a96f139-7668-83ec-8983-b64cdfa25737" |
No edit summary |
||
| Line 1: | Line 1: | ||
https://chatgpt.com/share/6a96f139-7668-83ec-8983-b64cdfa25737 | 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 <code>seb-win-refactoring-3.10.1.zip</code>. 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 <code>Asia/Jakarta</code>. | |||
Mekanisme tersebut menghasilkan tiga kondisi: | |||
{| class="wikitable" | |||
!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 <code>/mod/quiz/</code> dapat diperiksa. Jika permintaan berasal dari peramban yang tidak memiliki User-Agent ExamBro DBOS, akses ditolak. | |||
Mekanisme tersebut menghasilkan perilaku berikut: | |||
{| class="wikitable" | |||
!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 <code>/mod/quiz/</code>; | |||
* 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 <code>$exam_start</code> dan <code>$exam_end</code> 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. | |||
Latest revision as of 16:01, 1 September 2026
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.