Skip to content

Commit

Permalink
Add throttle middleware to potential resource heavy routes
Browse files Browse the repository at this point in the history
  • Loading branch information
cp6 committed Oct 10, 2023
1 parent 686f794 commit 44666d5
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion routes/web/command.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
Route::get('/command-groups/create', [CommandGroupController::class, 'create'])->name('command-group.create');
Route::post('/command-groups', [CommandGroupController::class, 'store'])->name('command-group.store');
Route::get('/command-groups/{commandGroup}', [CommandGroupController::class, 'show'])->name('command-group.show');
Route::get('/command-groups/{commandGroup}/run', [CommandGroupController::class, 'run'])->name('command-group.run');
Route::get('/command-groups/{commandGroup}/run', [CommandGroupController::class, 'run'])->middleware(['throttle:12,1'])->name('command-group.run');
Route::get('/command-groups/{commandGroup}/edit', [CommandGroupController::class, 'edit'])->name('command-group.edit');
Route::patch('/command-groups/{commandGroup}', [CommandGroupController::class, 'update'])->name('command-group.update');
Route::delete('/command-groups/{commandGroup}', [CommandGroupController::class, 'destroy'])->name('command-group.destroy');
Expand Down
4 changes: 2 additions & 2 deletions routes/web/connection.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
Route::middleware('auth')->group(function () {

Route::get('/connections', [ConnectionController::class, 'index'])->name('connection.index');
Route::post('/connections/{connection}/run', [ConnectionController::class, 'run'])->name('connection.run');//Send commands here
Route::post('/connections/{connection}/run', [ConnectionController::class, 'run'])->middleware(['throttle:20,1'])->name('connection.run');//Send commands here
Route::get('/connections/create', [ConnectionController::class, 'create'])->name('connection.create');
Route::post('/connections', [ConnectionController::class, 'store'])->name('connection.store');
Route::get('/connections/{connection}', [ConnectionController::class, 'show'])->name('connection.show');
Route::get('/connections/{connection}/debug', [ConnectionController::class, 'debug'])->name('connection.debug');
Route::get('/connections/{connection}/debug', [ConnectionController::class, 'debug'])->middleware(['throttle:8,1'])->name('connection.debug');
Route::get('/connections/{connection}/authenticated', [ConnectionController::class, 'authenticated'])->name('connection.authenticated');
Route::get('/connections/{connection}/edit', [ConnectionController::class, 'edit'])->name('connection.edit');
Route::patch('/connections/{connection}', [ConnectionController::class, 'update'])->name('connection.update');
Expand Down
6 changes: 3 additions & 3 deletions routes/web/database.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
Route::get('/db/connection/{databaseConnection}', [DatabaseConnectionController::class, 'show'])->name('db.connection.show');//Show database connection
Route::get('/db/connection/{databaseConnection}/connect', [DatabaseConnectionController::class, 'canConnect'])->name('db.connection.connect');
Route::get('/db/connection/{databaseConnection}/databases', [DatabaseConnectionController::class, 'getDatabases'])->name('db.connection.databases');
Route::get('/db/connection/{databaseConnection}/version', [DatabaseConnectionController::class, 'getUpdateVersion'])->name('db.connection.version');
Route::get('/db/connection/{databaseConnection}/privileges', [DatabaseConnectionController::class, 'getPrivileges'])->name('db.connection.privileges');
Route::get('/db/connection/{databaseConnection}/version', [DatabaseConnectionController::class, 'getUpdateVersion'])->middleware(['throttle:8,1'])->name('db.connection.version');
Route::get('/db/connection/{databaseConnection}/privileges', [DatabaseConnectionController::class, 'getPrivileges'])->middleware(['throttle:8,1'])->name('db.connection.privileges');
Route::get('/db/connection/{databaseConnection}/edit', [DatabaseConnectionController::class, 'edit'])->name('db.connection.edit');//Edit database connection
Route::patch('/db/connection/{databaseConnection}', [DatabaseConnectionController::class, 'update'])->name('db.connection.update');
Route::delete('/db/connection/{databaseConnection}', [DatabaseConnectionController::class, 'destroy'])->name('db.connection.destroy');//Delete database connection
Expand All @@ -41,7 +41,7 @@

//Database table columns
Route::get('/db/{database}/table/{databaseTable}', [DatabaseTableColumnController::class, 'showForTable'])->name('db.table.columns.show');//Show database table columns
Route::get('/db/{database}/table/{databaseTable}/pdf', [DatabaseTableColumnController::class, 'downloadPdf'])->name('db.table.columns.pdf');//Show database table columns
Route::get('/db/{database}/table/{databaseTable}/pdf', [DatabaseTableColumnController::class, 'downloadPdf'])->middleware(['throttle:8,1'])->name('db.table.columns.pdf');//Show database table columns
Route::get('/db/{database}/table/{databaseTable}/{databaseTableColumn}', [DatabaseTableColumnController::class, 'downloadColumn'])->name('db.table.columns.download.single');
Route::get('db/{database}/table/{databaseTable}/rows', [DatabaseTableController::class, 'getRowCount'])->name('db.table.columns.rows');
Route::get('db/{database}/table/{databaseTable}/size', [DatabaseTableController::class, 'getSize'])->name('db.table.columns.size');
Expand Down
2 changes: 1 addition & 1 deletion routes/web/mysqldump.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
Route::get('/mysqldump/{mySQLDump}/edit', [MySQLDumpController::class, 'edit'])->name('mysqldump.edit');
Route::patch('/mysqldump/{mySQLDump}', [MySQLDumpController::class, 'update'])->name('mysqldump.update');
Route::delete('/mysqldump/{mySQLDump}', [MySQLDumpController::class, 'destroy'])->name('mysqldump.destroy');
Route::get('/mysqldump/{mySQLDump}/run', [MySQLDumpController::class, 'run'])->name('mysqldump.run');
Route::get('/mysqldump/{mySQLDump}/run', [MySQLDumpController::class, 'run'])->middleware(['throttle:8,1'])->name('mysqldump.run');

});
8 changes: 4 additions & 4 deletions routes/web/ping.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@

Route::get('/pings', [PingController::class, 'index'])->name('ping.index');
Route::get('/ping/from/{server1}/to/{server2}', [PingController::class, 'pingFromTo'])->name('ping-from-to');
Route::get('/ping/from/{server1}/to/{server2}/run', [PingController::class, 'runPingFromTo'])->name('run.ping-from-to');
Route::get('/ping/{server}', [PingController::class, 'checkIsUp'])->name('check-is-up');
Route::get('/ping/from/{server1}/to/{server2}/run', [PingController::class, 'runPingFromTo'])->middleware(['throttle:8,1'])->name('run.ping-from-to');
Route::get('/ping/{server}', [PingController::class, 'checkIsUp'])->middleware(['throttle:8,1'])->name('check-is-up');

Route::get('/ping-groups', [PingGroupController::class, 'index'])->name('ping-group.index');
Route::get('/ping-groups/create', [PingGroupController::class, 'create'])->name('ping-group.create');
Route::post('/ping-groups', [PingGroupController::class, 'store'])->name('ping-group.store');
Route::get('/ping-groups/{pingGroup}', [PingGroupController::class, 'show'])->name('ping-group.show');
Route::get('/ping-groups/{pingGroup}/run', [PingGroupController::class, 'run'])->name('ping-group.run');//Make this an API call
Route::post('/ping-groups/{pingGroup}/ping', [PingGroupController::class, 'run'])->name('ping-group.run2');
Route::get('/ping-groups/{pingGroup}/run', [PingGroupController::class, 'run'])->middleware(['throttle:8,1'])->name('ping-group.run');//Make this an API call
Route::post('/ping-groups/{pingGroup}/ping', [PingGroupController::class, 'run'])->middleware(['throttle:8,1'])->name('ping-group.run2');
Route::get('/ping-groups/{pingGroup}/edit', [PingGroupController::class, 'edit'])->name('ping-group.edit');
Route::patch('/ping-groups/{pingGroup}', [PingGroupController::class, 'update'])->name('ping-group.update');
Route::delete('/ping-groups/{pingGroup}', [PingGroupController::class, 'destroy'])->name('ping-group.destroy');
Expand Down
6 changes: 3 additions & 3 deletions routes/web/server.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
Route::get('/servers/create', [ServerController::class, 'create'])->name('server.create');
Route::post('/servers', [ServerController::class, 'store'])->name('server.store');
Route::get('/servers/{server}', [ServerController::class, 'show'])->name('server.show');
Route::get('/servers/{server}/get-information', [ServerController::class, 'getInformation'])->name('server.get-information');
Route::get('/servers/{server}/get-information', [ServerController::class, 'getInformation'])->middleware(['throttle:8,1'])->name('server.get-information');
Route::get('/servers/{server}/usage/', [ServerUsageController::class, 'allUsage'])->name('server.usage.all');
Route::get('/servers/{server}/usage/get', [ServerUsageController::class, 'getUsage'])->name('server.usage');
Route::get('/servers/{server}/usage/get', [ServerUsageController::class, 'getUsage'])->middleware(['throttle:8,1'])->name('server.usage');
Route::get('/servers/{server}/usage/ram', [ServerUsageController::class, 'ramUsage'])->name('server.usage.ram');
Route::get('/servers/{server}/usage/cpu', [ServerUsageController::class, 'cpuUsage'])->name('server.usage.cpu');
Route::get('/servers/{server}/usage/disk', [ServerUsageController::class, 'diskUsage'])->name('server.usage.disk');
Route::get('/servers/{server}/uptime', [ServerController::class, 'getUptime'])->name('server.uptime');
Route::get('/servers/{server}/uptime', [ServerController::class, 'getUptime'])->middleware(['throttle:8,1'])->name('server.uptime');
Route::get('/servers/{server}/edit', [ServerController::class, 'edit'])->name('server.edit');
Route::patch('/servers/{server}', [ServerController::class, 'update'])->name('server.update');
Route::delete('/servers/{server}', [ServerController::class, 'destroy'])->name('server.destroy');
Expand Down
6 changes: 3 additions & 3 deletions routes/web/sftp.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
Route::get('/sftp/{sftpConnection}/download-to-server/progress', [SftpConnectionController::class, 'downloadToServerFileProgress'])->name('sftp.download-to-server.progress');//Downloaded to server progress
Route::get('/sftp/{sftpConnection}/read', [SftpConnectionController::class, 'read'])->name('sftp.read');
Route::post('/sftp/{sftpConnection}/read', [SftpConnectionController::class, 'readFile'])->name('sftp.read.file');//Get file for reading
Route::get('/sftp/{sftpConnection}/raw/{filepath}', [SftpConnectionController::class, 'outputFileRaw'])->name('sftp.read.file.raw');//Get file for raw reading in browser
Route::get('/sftp/{sftpConnection}/pdf/{filepath}', [SftpConnectionController::class, 'downloadFilePdf'])->name('sftp.read.file.pdf');//Get file for raw reading in browser
Route::post('/sftp/{sftpConnection}/raw', [SftpConnectionController::class, 'generateReadRawResponse'])->name('sftp.read.file.raw.post');//Build JSON response for reading raw file
Route::get('/sftp/{sftpConnection}/raw/{filepath}', [SftpConnectionController::class, 'outputFileRaw'])->middleware(['throttle:12,1'])->name('sftp.read.file.raw');//Get file for raw reading in browser
Route::get('/sftp/{sftpConnection}/pdf/{filepath}', [SftpConnectionController::class, 'downloadFilePdf'])->middleware(['throttle:12,1'])->name('sftp.read.file.pdf');//Get file for raw reading in browser
Route::post('/sftp/{sftpConnection}/raw', [SftpConnectionController::class, 'generateReadRawResponse'])->middleware(['throttle:12,1'])->name('sftp.read.file.raw.post');//Build JSON response for reading raw file
Route::post('/sftp/{sftpConnection}/run', [SftpConnectionController::class, 'run'])->name('sftp.run');//Run SFTP command
Route::post('/sftp/{sftpConnection}/download', [SftpConnectionController::class, 'downloadFile'])->name('sftp.download');//SFTP download file
Route::post('/sftp/{sftpConnection}/upload', [SftpConnectionController::class, 'uploadFile'])->name('sftp.upload');//SFTP upload a file
Expand Down

0 comments on commit 44666d5

Please sign in to comment.