Skip to content

Laravel Package for generating encrypted SEB (Safe Exam Browser) exam configurations

License

Notifications You must be signed in to change notification settings

ndum/laravel-seb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laravel-seb

This Laravel-Package provides the possibility to generate encrypted SEB (Safe Exam Browser) configurations. its mainly used to generate automatic seb-exams configurations with secure defaults options.

Requirements

Laravel 8, 9 or 10 with php8 and enabled ext-openssl, ext-zlib

Limititations

Its can only be used for password-encrypted exams (client-configurations currently are not supported)

Installation

Install via Composer.

$ composer require ndum/laravel-seb

Examples

NOTE: For production - Please use secure passwords and a secure seb-config!

Parameters

$sebConfig = seb-config as json-array (show examples/example_seb_config.json)
$startPassword = encryption-password as string
$quitPassword = close-password as string
$adminPassword = admin-password as string
Traditionally:
use Ndum\Laravel\SebConfigGenerator;
use Storage;

$config = Storage::disk('local')->get('/examples/example_seb_config.json'); // just as example...
$startPassword = 'test';
$quitPassword = 'test';
$adminPassword = 'test';

$sebConfig = json_decode($config, true);

$generator = new SebConfigGenerator();
$encryptedSebConfig = $generator->createSebConfig($sebConfig, $startPassword, $quitPassword, $adminPassword);
dd($encryptedSebConfig);
Facade:
use Ndum\Laravel\Facades\SebConfigGenerator;
use Storage;

$config = Storage::disk('local')->get('/examples/example_seb_config.json'); // just as example...
$startPassword = 'test';
$quitPassword = 'test';
$adminPassword = 'test';

$sebConfig = json_decode($config, true);

$encryptedSebConfig = SebConfigGenerator::createSebConfig($sebConfig, $startPassword, $quitPassword, $adminPassword);
dd($encryptedSebConfig);

Issues / Contributions

Directly via GitHub

License

This project is licensed under the MIT License - see the LICENSE-File for details