Add more rate limits

This commit is contained in:
Daniel Supernault 2019-06-19 13:19:19 -06:00
parent a94a3ee06a
commit 1f1df2d1c4
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
2 changed files with 28 additions and 3 deletions

View file

@ -4,6 +4,11 @@ namespace App\Util\RateLimit;
trait User {
public function isTrustedAccount()
{
return $this->created_at->lt(now()->subDays(20));
}
public function getMaxPostsPerHourAttribute()
{
return 20;
@ -23,4 +28,24 @@ trait User {
{
return 500;
}
public function getMaxLikesPerHourAttribute()
{
return 120;
}
public function getMaxLikesPerDayAttribute()
{
return 1000;
}
public function getMaxSharesPerHourAttribute()
{
return 60;
}
public function getMaxSharesPerDayAttribute()
{
return 500;
}
}

View file

@ -105,7 +105,7 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact
});
Route::group(['prefix' => 'local'], function () {
Route::get('i/follow-suggestions', 'ApiController@followSuggestions');
Route::post('status/compose', 'InternalApiController@compose');
Route::post('status/compose', 'InternalApiController@compose')->middleware('throttle:maxPostsPerHour,60')->middleware('throttle:maxPostsPerDay,1440');
Route::get('exp/rec', 'ApiController@userRecommendations');
});
});
@ -121,8 +121,8 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact
Route::post('unmute', 'AccountController@unmute');
Route::post('block', 'AccountController@block');
Route::post('unblock', 'AccountController@unblock');
Route::post('like', 'LikeController@store');
Route::post('share', 'StatusController@storeShare');
Route::post('like', 'LikeController@store')->middleware('throttle:maxLikesPerHour,60')->middleware('throttle:maxLikesPerDay,1440');
Route::post('share', 'StatusController@storeShare')->middleware('throttle:maxSharesPerHour,60')->middleware('throttle:maxSharesPerDay,1440');
Route::post('follow', 'FollowerController@store');
Route::post('bookmark', 'BookmarkController@store');
Route::get('lang/{locale}', 'SiteController@changeLocale');