don't allow to render avatar for non-skin texture
This commit is contained in:
parent
311b0690fc
commit
9bfc0e6076
|
|
@ -132,8 +132,12 @@ class TextureController extends Controller
|
||||||
return $this->avatar($minecraft, $request, $texture);
|
return $this->avatar($minecraft, $request, $texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function avatar(Minecraft $minecraft, Request $request, Texture $texture = null)
|
protected function avatar(Minecraft $minecraft, Request $request, ?Texture $texture)
|
||||||
{
|
{
|
||||||
|
if (!empty($texture) && $texture->type !== 'steve' && $texture->type !== 'alex') {
|
||||||
|
return abort(422);
|
||||||
|
}
|
||||||
|
|
||||||
$size = (int) $request->query('size', 100);
|
$size = (int) $request->query('size', 100);
|
||||||
$mode = $request->has('3d') ? '3d' : '2d';
|
$mode = $request->has('3d') ? '3d' : '2d';
|
||||||
$usePNG = $request->has('png') || !(imagetypes() & IMG_WEBP);
|
$usePNG = $request->has('png') || !(imagetypes() & IMG_WEBP);
|
||||||
|
|
|
||||||
|
|
@ -224,6 +224,9 @@ class TextureControllerTest extends TestCase
|
||||||
{
|
{
|
||||||
$disk = Storage::fake('textures');
|
$disk = Storage::fake('textures');
|
||||||
|
|
||||||
|
$cape = Texture::factory()->cape()->create();
|
||||||
|
$this->get(route('avatar.texture', ['tid' => $cape->tid]))->assertStatus(422);
|
||||||
|
|
||||||
$this->get(route('avatar.texture', ['tid' => 0]))
|
$this->get(route('avatar.texture', ['tid' => 0]))
|
||||||
->assertSuccessful()
|
->assertSuccessful()
|
||||||
->assertHeader('Content-Type', 'image/webp');
|
->assertHeader('Content-Type', 'image/webp');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user